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!

猜你喜欢

转载自www.cnblogs.com/wangjianwei/p/9722234.html