bel*_*lka 5 java scala maven apache-spark
我目前正在处理一个混合 Java 和 Scala (Spark) 的项目。好像这还不够,我的一些依赖项导入了另一个版本的 Spark 和 Scala(不兼容)......
总而言之,这就是我的依赖树可能的样子:
myProjectA
\_ myLibB
| \_ spark 1.5.2 (excluded in my pom.xml)
| \_ scala 2.10.4 (excluded in my pom.xml)
\_ spark 2.2.0 (with Scala 2.11)
| \_ scala 2.11.7
\_ scala 2.11.11
\_ java 8
Run Code Online (Sandbox Code Playgroud)
在我的项目中的地图上进行了一个小的修改后,编译不再起作用......仅供参考,修改包括在硬编码地图中添加一个元素。
因此,我正在寻找一种解决方案来编译我的项目。我目前正在使用此构建配置:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.3</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
<configuration>
<args>
<arg>-dependencyfile</arg>
<arg>${project.build.directory}/.scala_dependencies</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我意识到,即使在导致先前配置错误的更改之后,其他配置似乎也能正常工作(我用 替换scala-maven-plugin
了maven-compiler-plugin
):
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
两个问题:
-maven-compiler-plugin
和之间有什么区别scala-maven-plugin
?
- 可以maven-compiler-plugin
有效地编译 Scala 代码/混合 Java-Scala 代码吗?
归档时间: |
|
查看次数: |
1808 次 |
最近记录: |