gpt4 book ai didi

java - scala maven 插件没有将 scala 文件打包到 jar 中

转载 作者:搜寻专家 更新时间:2023-11-01 03:47:50 27 4
gpt4 key购买 nike

我是 maven 的新手,目前正在尝试用它组装一个 scala 项目。项目结构:

dir
|
|--src/main/java
|
|--src/main/scala
|
|--pom.xml

我对从 *.java 编译的类感到有点惊讶最终在 jar 里,但一个编译自 *.scala不要。我将这些插件添加到 pom.xml

<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.3</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>HelloWorld</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>

虽然maven-jar-plugin负责组装jar文件。但出于某种原因,它没有添加 scala 编译的类。

问题: 谁添加了 .class文件进入最终jar在执行 mvn install 之后?如何添加.class - 用 scala 编译器编译的文件?

最佳答案

mvn package 将构建您的 jar,但是 maven-compiler-plugin 将只编译您的 java 源文件而不是您的 scala 源文件。 Scala-maven-plugin 可用于编译 java 和 scala 源代码。

我前段时间写了一篇关于这个的博文,可能会有帮助http://blog.rizvn.com/2016/04/scala-and-maven.html

您需要将 src/main/scala 告诉 maven,因为您将 scala 代码放在 src/main/java 下。这是通过构建部分完成的,如下所示:

<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
...
</build>

关于java - scala maven 插件没有将 scala 文件打包到 jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39305130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com