scala mvn project的创建

eclipse版本为Scala IDE(scala-SDK-4.7.0-vfinal-2.12-win32.win32.x86_64)。

新建mvn project,模板为scala的。创建之后的默认情况是:



再看pom的定义:


可见是由于IDE默认的scala版本2.12与pom中的配置版本2.11不符导致的。

工程上右键->properties->Scala Compiler,选中use project settings,Scala Installation选Latest 2.11 bundle版本。

报错消失。然后又产生了个新报错

not found: type JUnitRunner specs.scala /0625mvn/src/test/scala/samples line 18 Scala Problem

此为测试程序,用不着,把他注释掉。

报错消失,新建工程上没有红叉了~


新建一个package叫spark.core,下面新建一个scala object。报错:

not found: type SparkConf WordCount.scala /0625mvn/src/main/scala/spark/core line 7 Scala Problem

not found: type SparkContext WordCount.scala /0625mvn/src/main/scala/spark/core line 11 Scala Problem

原因是pom里没有添加spark core的依赖。

加上

        <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.3.0</version>

</dependency>

报错又消失~


然后又产生了新报错:


添加依赖:

        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
<dependency>
    <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.6</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml/classmate -->
<dependency>
    <groupId>com.fasterxml</groupId>
    <artifactId>classmate</artifactId>
    <version>1.4.0</version>

</dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson/jackson-datatype-guava -->
<dependency>
    <groupId>com.fasterxml.jackson</groupId>
            <artifactId>jackson-datatype-guava</artifactId>
            <version>1.9.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.9.5</version>

    </dependency>

添加如上依赖后,报错只剩下:


看了下classpath的配置为:.;%JAVA_HOME%\jdk1.8.0_171\lib;%JAVA_HOME%\jdk1.8.0_171\lib\tools.jar;

tools.jar是JDK自带的,pom中的其他jar隐形依赖tools.jar,而tools.jar并未在库中。


添加依赖:

<dependency>  
    <groupId>jdk.tools</groupId>  
    <artifactId>jdk.tools</artifactId>  
    <version>1.8</version>  
    <scope>system</scope>  
    <systemPath>${JAVA_HOME}/jdk1.8.0_171/lib/tools.jar</systemPath>  

</dependency>


问题解决。

猜你喜欢

转载自blog.csdn.net/yblbbblwsle/article/details/80799301
mvn
今日推荐