unj*_*nj2 44 java ant maven-2 jar maven-plugin
我使用不同的插件(ant4eclipse)来装箱我的文件.避免maven-jar插件执行的最佳方法是什么?
<plugin>maven-jar-plugin</plugin>
<exclude> ** / * < / exclude>
<skip>true</skip>
没有用
小智 49
在Maven 3.0.x(我尝试过3.0.2)中,您可以maven-jar-plugin
通过将default-jar
执行绑定到不存在的阶段来禁用,如@bmargulies建议的那样.不幸的是,它不是在2.2.1的工作,但你可以阻止它通过设置一个替代用自己的罐子干扰<finalName>
和<classifier>
对default-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>
Run Code Online (Sandbox Code Playgroud)
一旦你禁用了maven-jar-plugin
,maven-install-plugin
也可能给你带来麻烦.在Maven 3中,它可以被禁用,如maven-jar-plugin
:绑定default-install
到不存在的阶段.但是,在Maven 2中maven-install-plugin
需要该target/classes
目录存在,并且当没有主要工件存在时它将安装虚拟jar.
小智 33
这应该做的 - 注意使用<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>
Run Code Online (Sandbox Code Playgroud)
如果您声明了该怎么办?
<packaging>pom</packaging>
Run Code Online (Sandbox Code Playgroud)
即使它满足您的要求,也要小心。我不确定是否会有负面影响-例如其他依赖于jar无法定位的maven项目。
就我而言,我只想禁用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>
Run Code Online (Sandbox Code Playgroud)
使用 maven 3.3.9,以下对我有用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>default-jar</id>
<phase>none</phase>
<configuration>
<finalName>unwanted</finalName>
<classifier>unwanted</classifier>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
所以在 maven-jar-plugin 的情况下,我将它绑定到一个不存在的阶段。对于 maven-install-plugin,我使用了“skip”配置参数。关于它的文档说:“将此设置为 true 以绕过工件安装。将其用于不需要安装在本地存储库中的工件。”
归档时间: |
|
查看次数: |
28722 次 |
最近记录: |