Idea创建Scala的Maven项目
开始学习Scala,用Idea创建Maven项目的时候遇到一些问题,特此记录
- Idea版本(2018.1.5)
- Scala版本(2.11.0)
- Java版本(1.8.0_151)
创建Scala的Maven项目
Idea新建项目如图,输入GroupId和ArtifactId之后点击“下一步”->配置Maven home目录(默认即可)->输入工程名“完成”,Idea自动构建项目:
运行生成的App文件!
运行报错
生成的App函数内容如下:
package com
/**
* Hello world!
*
*/
object App extends Application {
println( "Hello World!" )
}
问题1:println 函数不能识别
进入pom.xml文件,找到Scala版本代码:
<properties>
<scala.version>2.7.0</scala.version>
</properties>
可以看到Idea自动导入的Scala版本是2.7.0,而我自己使用的是2.11.0,修改成如下版本,问题解决:
<properties>
<scala.version>2.11.0</scala.version>
</properties>
不确定自己Scala版本,可以点击“File”->Project Structure, 查看下图:
问题2:找不到Application
运行报下面错误:
Error:(7, 20) not found: type Application
object App extends Application {
查找到stackoverflow有同样的问题,是说 Scala2.9以后就弃用了Application,所以使用2.11版本要用App替代Application,用Main替代App,需要将App文件修改成下面代码:
stackoverflow连接:https://stackoverflow.com/questions/26176509/why-does-2-11-1-fail-with-error-not-found-type-application
package com
/**
* Hello world!
*
*/
object Main extends App {
println( "Hello World!" )
}
继续运行,报下面版本错误
问题3:Scala signature JUnit4 has wrong version
Error:scalac: error while loading JUnit4, Scala signature JUnit4 has wrong version
expected: 5.0
found: 4.1 in JUnit4.class
解决办法:将maven自动生成的test下面的MySpec文件删除就好了
再次运行,终于看到久违的Hello World!: