我在默认生命周期阶段之后有非常标准的Maven构建。但是,在开始时,我需要使用一个特定资源生成到target
目录JAR文件,然后继续构建。如何使用标准插件来实现?
在http://maven.apache.org/plugins/maven-jar-plugin/plugin-info.html我认为只有为整个项目生成JAR的可能性。
答案 0 :(得分:2)
您可以通过指定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>
这将使JAR脱离build文件夹中的文件${basedir}/path/to/folder/resource.txt
。根据配置的resource.jar
,此JAR将命名为finalName
。执行绑定到initialize
阶段,因为您希望在构建开始时创建此JAR。