gpt4 book ai didi

maven - 如何强制 Maven 总是创建一个新的 jar 文件?

转载 作者:行者123 更新时间:2023-12-02 15:21:46 26 4
gpt4 key购买 nike

如果所有类都是最新的“无需编译 - 所有类都是最新的”那么 maven 会再次创建 jar 吗?

正如我在日志中看到的那样,jar 没有再次创建。所以 Maven 知道所有类都是最新的。

问题:是否有任何流程或其他事情可以解决这个问题?

最佳答案

Maven Jar Plugin将通过其 jar 创建一个 jar目标(如果不存在)或跳过其创建(如果存在但未发生任何变化)。

您可以通过其 forceCreation强制创建 jar选项(自版本 2.2 起)​​。来自 official documentation :

Require the jar plugin to build a new JAR even if none of the contents appear to have changed. By default, this plugin looks to see if the output jar exists and inputs have not changed. If these conditions are true, the plugin skips creation of the jar. This does not work when other plugins, like the maven-shade-plugin, are configured to post-process the jar. This plugin can not detect the post-processing, and so leaves the post-processed jar in place. This can lead to failures when those plugins do not expect to find their own output as an input. Set this parameter to true to avoid these problems by forcing this plugin to recreate the jar every time.

它的默认值为 false,这解释了您的行为。

如果你想强制它总是,你可以添加到你的pom文件:

<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<forceCreation>true</forceCreation>
</configuration>
...
</plugin>
</plugins>
</build>
...
</project>

或者仅在单个构建上,按如下方式调用它:

mvn package -Djar.forceCreation=true

所以,回到你的问题:

is there any process or another thing which work on this?

答案是:是的,Maven Jar 插件可以解决这个问题,上面的选项将改变它的行为。

关于maven - 如何强制 Maven 总是创建一个新的 jar 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com