我目前正在使用 maven-jar-plugin 从一个特定的类文件夹构建一个 JAR,我已将其作为提供的范围依赖项包含在内。我现在需要将此 JAR 作为依赖项包含在我的最终构建中。
那么,是否可以在构建的特定阶段包含依赖项?
注意:依赖项是在构建过程中构建的,因此它仅在编译阶段可用。
解决这个问题的最简单方法是将使用 maven-jar-plugin 构建的代码分离到一个单独的 Maven 项目中,并在主 Maven 项目中将其称为正常依赖项。
这样一来,您就不必费心让一个 Maven 构建产生两个不同的工件(您正在生成的 JAR,然后是主输出减去该 JAR 的类),同时在第二个中引用第一个的输出。
或者,假设您的主项目的包类型设置为jar
,您可以将“特定类文件夹”类添加到项目的<resources>
元素中,然后配置/覆盖maven-jar-plugin
在该package
阶段运行的执行以排除这些类,<excludes>
元素位于<configuration>
.
您可以配置生成的 jar 中包含的文件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<includes>
<include>relative_path_to_your_jar</include>
<include>**/**</include>
</includes>
</configuration>
</plugin>
http://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#includes