java-避免maven-jar的最佳方法是什么?
我正在使用其他插件(ant4eclipse)来存储我的文件。 避免执行maven-jar插件的最佳方法是什么?
我试图删除true
我试图true
I tried to true
没有工作
9个解决方案
48 votes
在Maven 3.0.x(我尝试3.0.2)中,您可以通过将maven-install-plugin执行绑定到一个不存在的阶段来禁用maven-jar-plugin,如@bmargulies所建议。 不幸的是,这在2.2.1中不起作用,但是您可以通过为maven-install-plugin执行设置备用maven-jar-plugin和default-install来防止它干扰您自己的jar; 它仍然会创建一个jar,但是它将被设置为该项目的辅助工件,并且不会覆盖您创建的jar。 这是一个适用于Maven 2和Maven 3的示例:
4.0.0
test
test
0.1-SNAPSHOT
maven-jar-plugin
default-jar
none
unwanted
unwanted
禁用maven-jar-plugin后,maven-install-plugin可能也会给您带来麻烦。 在Maven 3中,可以像maven-jar-plugin一样禁用它:将default-install绑定到不存在的阶段。 但是,在Maven 2中,maven-install-plugin要求存在target/classes目录,并且在不存在主要工件的情况下,它将安装虚拟jar。
peterj answered 2020-07-13T14:50:38Z
33 votes
这应该可以解决问题-请注意使用default-jar和。
org.apache.maven.plugins
maven-jar-plugin
2.4
default-jar
redhot answered 2020-07-13T14:50:58Z
5 votes
如果您声明了该怎么办?
pom
即使它满足您的要求,也要小心。 我不确定是否会有负面影响-例如其他依赖于jar无法定位的maven项目。
Drew Wills answered 2020-07-13T14:51:23Z
5 votes
就我而言,我只想禁用jar插件,因为jar为空。 您可以在插件配置中使用skipIfEmpty选项
org.apache.maven.plugins
maven-jar-plugin
3.0.2
true
bheussler answered 2020-07-13T14:51:43Z
3 votes
明确将jar插件绑定到一个不存在的阶段。
bmargulies answered 2020-07-13T14:52:04Z
2 votes
使用maven 3.3.9,以下对我有用:
org.apache.maven.plugins
maven-jar-plugin
3.1.2
default-jar
none
unwanted
unwanted
org.apache.maven.plugins
maven-install-plugin
3.0.0-M1
true
因此,在使用maven-jar-plugin的情况下,我将其绑定到一个不存在的阶段。 对于maven-install-plugin,我使用了“跳过”配置参数。 关于它的文档说:“将其设置为true以绕过工件安装。将其用于不需要在本地存储库中安装的工件。”
Erik Nellessen answered 2020-07-13T14:52:30Z
1 votes
正如其他人所说,除了使用package(它会关闭所有功能,而且可能不是您想要的功能)之外,无法将其关闭。
即使它将生成两次,一个可行的解决方案是将jar进程绑定到package阶段,因为可以保证此过程在默认设置之后运行。 通过覆盖相同的JAR文件,您将发现原来的文件将被使用。
Brett Porter answered 2020-07-13T14:52:55Z
0 votes
我正在使用其他插件来存储文件。 避免执行maven-jar插件的最佳方法是什么?
首先,对于包装类型为jar的项目,默认情况下在package阶段绑定jar:jar目标;其次,无法解除绑定到某个阶段的插件的绑定。 因此,如果您使用的是其他插件(?),则可以接受生成2个JAR或更改包装(但我认为这样做不会很好)。
Pascal Thivent answered 2020-07-13T14:53:20Z
-1 votes
org.apache.maven.plugins
maven-jar-plugin
true
Chris answered 2020-07-13T14:53:36Z