scala —— maven scala项目开发
来源:互联网 发布:外贸开发客户软件 编辑:程序博客网 时间:2024/05/06 14:09
环境准备
IntelliJ IDE + maven + scala
创建java和scala混合开发的项目,IDE用intellij,项目管理工具使用maven
1.intellij安装scala插件
File -》 Settings -》 Plugins中搜索scala,安装插件
安装完成后的页面如下:
创建项目
新建一个maven项目
创建的空项目如下图所示:
和java同目录下添加一个scala目录,用来存放scala源代码,把该目录标记为源代码目录:
创建完成后,在各自目录下创建一个类,项目目录如图:
其中,scala下的HelloScala.scala代码为:
class HelloScala { def sayHello() = { println("hello scala") }}
java下的Main代码为:
public class Main { public static void main(String[] args) { HelloScala hs = new HelloScala(); hs.sayHello(); }}
修改pom.xml文件
<dependencies> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.10.5</version> <scope>compile</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <version>2.15.2</version> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
其中,scala-library在运行时需要,build插件在编译时需要。
运行
在IDE中我们可以直接执行查看效果
如果要在服务器机器上java -cp来运行,需要下载依赖的scala库jar包。
执行mvn dependency:copy-dependencies -DoutputDirectory=lib下载依赖包:scala-library-2.10.5.jar
执行mvn package打包:scala.test-1.0-SNAPSHOT.jar
上传到执行目录
执行:java -cp ./*: Main,即可看到打印出结果。
注意,scala-library-2.10.5.jar包必须包含,不然会出现以下问题:
Exception in thread “main” java.lang.NoClassDefFoundError: scala/Predef
总结
至此,基于maven管理的java和scala混合编程的项目已经完成,我们可以开始我们的java和scala混合编程之旅了。
- scala —— maven scala项目开发
- 基于IntelliJ IDEA开发Spark的Maven项目——Scala语言
- 基于IntelliJ IDEA开发Spark的Maven项目——Scala语言
- 基于IntelliJ IDEA开发Spark的Maven项目——Scala语言
- 使用scala-eclipse 创建scala-maven项目
- scala eclipse建立scala maven项目
- scala eclipse建立scala maven项目
- scala项目开发经验
- 使用maven管理scala项目
- Idea+Maven创建scala项目
- Scala-IDE构建Maven项目
- 构建Scala的Maven项目
- Idea+Maven创建scala项目
- eclipse建maven scala项目
- idea使用maven构建java和scala项目开发spark
- Idea创建maven的scala项目,没有scala class选项
- 搭建eclipse+maven+scala-ide的scala web开发环境
- Intellij IDEA15:建立Scala的Maven项目
- docker学习笔记
- C Primer Plus学习 一
- centos 20T硬盘(超过16T)分区和格式化
- 离散傅里叶变换的概念
- 初识—树链剖分
- scala —— maven scala项目开发
- 【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal
- IDEA main方法自动补全
- Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
- 手机支付宝密码存储机制分析
- 字符串的展开
- docker上部署项目的重大误区
- Activiti学习文档(四)之发布流程并审批处理
- 二叉树的构建与遍历