zoukankan      html  css  js  c++  java
  • Idea创建Scala的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!

  • 相关阅读:
    Grid 拾遗
    WPF 依赖属性
    升级cordova
    oracle比较一行的最大值或最小值
    nginx完全关闭log
    hive计算周一的日期
    查看linux文件目录的大小和文件夹包含的文件数
    linux设置服务器时间同步
    oracle取出多个字段列中的最大值和最小值
    oracle SQL语句取本周本月本年的数据
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13093518.html
Copyright © 2011-2022 走看看