zoukankan      html  css  js  c++  java
  • 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!

  • 相关阅读:
    HDOJ 1846 Brave Game
    并查集模板
    HDU 2102 A计划
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    POJ 1321 棋盘问题
    CF 999 C.Alphabetic Removals
    CF 999 B. Reversing Encryption
    string的基础用法
    51nod 1267 4个数和为0
  • 原文地址:https://www.cnblogs.com/wangjianwei/p/9722234.html
Copyright © 2011-2022 走看看