Deployment 如果没有源文件更改,是否可以避免Maven(jar/war)打包?

Deployment 如果没有源文件更改,是否可以避免Maven(jar/war)打包?,deployment,maven-2,packaging,Deployment,Maven 2,Packaging,我希望能够智能地决定web应用程序是否已更改,是否需要重新部署,但无法确定使用Maven2执行此操作的有效方法 对于给定的JavaWeb应用程序,Maven不会重新编译未更改的源文件,但它将始终重新打包.war工件,从而更新其时间戳。对于更新的时间戳,我必须假设工件代表更新的快照版本 如果源文件没有更改,并且目标文件夹中仍然存在以前打包的.war文件,Maven是否可以避免重新打包?至少,如果未发现任何更改,Maven是否可以避免覆盖以前打包的.war文件?您可以尝试默认设置为true(强制)的

我希望能够智能地决定web应用程序是否已更改,是否需要重新部署,但无法确定使用Maven2执行此操作的有效方法

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


如果源文件没有更改,并且目标文件夹中仍然存在以前打包的.war文件,Maven是否可以避免重新打包?至少,如果未发现任何更改,Maven是否可以避免覆盖以前打包的.war文件?

您可以尝试默认设置为true(强制)的设置。但是要小心,阅读文档中关于强制标志的警告

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
  <archive>
    <forced>false</forced>
  </archive>
</configuration>
org.apache.maven.plugins
maven战争插件
假的

您可以尝试默认设置为true(强制)的设置。但是要小心,阅读文档中关于强制标志的警告

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
  <archive>
    <forced>false</forced>
  </archive>
</configuration>
org.apache.maven.plugins
maven战争插件
假的

感谢您与大家分享该标志!虽然,它似乎被称为强制,而不是强制:)更新的答案。谢谢你的提示(疏忽)。我不知道archiver组件。谢谢,这似乎正是我所期望的@这对我不起作用。尝试了“mvn包”,日志显示“没有要编译的源代码”,但仍然创建了.war文件。请帮忙。谢谢你和大家分享这面旗帜!虽然,它似乎被称为强制,而不是强制:)更新的答案。谢谢你的提示(疏忽)。我不知道archiver组件。谢谢,这似乎正是我所期望的@这对我不起作用。尝试了“mvn包”,日志显示“没有要编译的源代码”,但仍然创建了.war文件。请帮助。您是否使用CI解决方案?是否使用CI解决方案?