[英]Bind jar:test-jar to package phase
我有一个包含以下内容的 pom 片段:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.jason.Main</mainClass>
</manifest>
<manifestEntries>
<Class-Path>resources/</Class-Path>
</manifestEntries>
</archive>
<executions>
<execution>
<id>package-test-jar</id>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</configuration>
</plugin>
当我运行“mvn package”时,插件不会执行,我的测试 jar 也不会被创建。 当我运行“mvn jar:test-jar”时,我的 jar 被创建。 有谁知道为什么会这样?
谢谢你,杰森
您放错了<executions>
块:它应该在<configuration>
块之外。 正如你写的那样,这意味着你将一个名为“executions”的参数结构传递给 Maven jar 插件的配置,它被简单地忽略了。
这是正确的配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
... your configuration data ...
</configuration>
<executions>
<execution>
<id>package-test-jar</id>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
请注意,没有必要为您的执行指定“包”阶段,因为 maven jar 插件默认附加到此阶段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.