我在默认生命周期阶段之后有非常标准的Maven构建。但是,一开始我需要生成仅包含一个特定资源的目录 JAR 文件target
然后继续构建。如何使用标准插件来做到这一点?
在 http://maven.apache.org/plugins/maven-jar-plugin/plugin-info.html,我只看到为整个项目生成 JAR 的可能性。
您可以通过指定classesDirectory
来使用此任务的maven-jar-plugin
:
包含应打包到 JAR 中的类和资源文件的目录。
默认情况下,这指向${project.build.outputDirectory}
,以便为整个项目的类和资源创建 JAR。
在此文件夹中,您可以选择要包含在 includes
参数中的特定资源。配置示例如下:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>init-jar</id>
<phase>initialize</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classesDirectory>${basedir}/path/to/folder</classesDirectory>
<includes>
<include>resource.txt</include>
</includes>
<outputDirectory>${project.build.directory}</outputDirectory>
<finalName>resource</finalName>
</configuration>
</execution>
</executions>
</plugin>
这将从构建文件夹中的文件${basedir}/path/to/folder/resource.txt
中创建一个 JAR。此 JAR 将根据配置的finalName
命名为 resource.jar
。执行绑定到initialize
阶段,因为您希望在构建开始时创建此 JAR。