開始學習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!:

