2011-09-01 94 views
1

我希望能够智能地确定Web应用程序是否发生了变化并需要重新部署,但无法确定使用Maven2的有效方式。如果没有源文件更改,可以避免Maven(jar/war)包装?

对于给定的Java Web应用程序,Maven不会重新编译未更改的源文件,但它总是将.war工件重新打包,从而更新其时间戳。使用更新的时间戳记,我必须假定工件代表更新的快照版本。

是否有可能让Maven避免重新打包,其中没有源文件发生变化,并且以前打包的.war文件仍然存在于目标文件夹中?至少,如果没有发现变化,是否有可能让Maven避免覆盖先前打包的.war文件?

+0

您是否使用CI解决方案? – khmarbaise

回答

1

您可以尝试默认设置为true(强制)的maven-war-plugin的设置。但请小心并阅读关于文档中力标志的警告。

<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-war-plugin</artifactId> 
<configuration> 
    <archive> 
    <forced>false</forced> 
    </archive> 
</configuration> 
+0

感谢您与所有人共享该国旗!虽然,它似乎被称为强迫,而不是强制:) – Jon7

+0

已更新的答案。感谢提示(监督)。 – khmarbaise

+0

我没有意识到归档组件。谢谢,这似乎正是我所期望的。 :) – mirzmaster