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!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM