我希望能够智能地决定Web应用程序是否已更改并需要重新部署,但无法确定使用Maven2执行此操作的有效方法。
对于给定的Java Web应用程序,Maven不会重新编译未更改的源文件,但将始终重新打包.war工件,从而更新其时间戳。使用更新的时间戳,我必须假设工件代表更新的快照版本。
是否可以让Maven避免在没有源文件发生更改的情况下重新打包,并且以前打包的.war文件仍然存在于目标文件夹中?至少,如果没有找到任何更改,是否可以让Maven避免覆盖以前打包的.war文件?
答案 0 :(得分:1)
您可以尝试maven-war-plugin的设置,默认情况下设置为true(强制)。但要小心并阅读有关文档中强制标记的警告。
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<forced>false</forced>
</archive>
</configuration>