我正在使用一个不同的插件(ant4eclipse)来包装我的文件。避免maven-jar插件执行的最佳方法是什么?
<plugin>maven-jar-plugin</plugin><exclude> ** / * < / exclude><skip>true</skip>都不起作用
发布于 2011-01-31 17:12:34
在Maven 3.0.x (我尝试了3.0.2)中,可以通过将maven-jar-plugin执行绑定到不存在的阶段(如@bmargulies建议 )来禁用@bmargulies建议。不幸的是,这在2.2.1中不起作用,但是可以通过为<finalName>和<classifier>执行default-jar设置一个替代的jar来防止它干扰您自己的jar;它仍然会创建jar,但它将被设置为项目的次要工件,不会覆盖您创建的jar。下面是一个在Maven 2和Maven 3中都可以使用的示例:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<phase>none</phase>
<configuration>
<finalName>unwanted</finalName>
<classifier>unwanted</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>一旦禁用了maven-jar-plugin,maven-install-plugin也可能给您带来麻烦。在Maven 3中,它可以与maven-jar-plugin:bind default-install禁用到一个不存在的阶段。但是,在Maven 2中,maven-install-plugin要求存在target/classes目录,当没有主工件时,它将安装虚拟jar。
发布于 2013-09-12 03:17:17
这应该起到了作用--注意<id>default-jar</id>和<phase/>的使用。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>default-jar</id>
<phase/>
</execution>
</executions>
</plugin>
</plugins>
</build>发布于 2017-12-12 19:08:55
在我的例子中,我只想禁用jar插件,因为jar是空的。您可以在插件配置中使用skipIfEmpty选项。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<skipIfEmpty>true</skipIfEmpty>
</configuration>
</plugin>https://stackoverflow.com/questions/2188746
复制相似问题