我有一个maven项目,我需要生成三个单独的jar
- 一个用于主应用程序(默认)
- 一个用于源代码 (
maven-source-plugin
) - 还有一个用于我的应用文档,位于
target/docs
问题:如何创建仅包含 target/docs
文件夹的 jar?
最佳答案
您可以将以下内容添加到您的 maven pom.xml
文件的 build/plugins
部分:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<configuration>
<classifier>docs</classifier>
<classesDirectory>${project.build.directory}/docs</classesDirectory>
<includes>**/*</includes>
</configuration>
<id>pack-docs</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
这基本上是:
- 使用
maven-jar-plugin
,jar
目标是为该项目打包新的 Artifact - 将其添加(或 attaching )作为分类器(将
docs
后缀附加到项目 Artifact 的常规约定中,例如artifactId-version.jar
) - 使用标准
${project.build.directory}
属性而不是target
将target\docs
设置为文件源(这是它的默认值)
正在运行
mvn clean package
然后您将作为输出的一部分
- 通常创建的
jar
文件,例如sample-project-1.0.0-SNAPSHOT.jar
- 新的
docs
文件,例如sample-project-1.0.0-SNAPSHOT-docs.jar
关于java - 如何使用 maven 为特定文件夹创建额外的 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37790330/