【问题标题】:Can Maven (jar/war) packaging be avoided if there are no source file changes?如果没有源文件更改,是否可以避免 Maven (jar/war) 打包?
【发布时间】:2011-09-01 15:23:06
【问题描述】:

我希望能够智能地确定 Web 应用程序是否已更改并需要重新部署,但无法确定使用 Maven2 的有效方法。

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

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

【问题讨论】:

  • 您使用 CI 解决方案吗?

标签: deployment maven-2 packaging


【解决方案1】:

您可以尝试maven-war-plugin 的设置,默认设置为true(强制)。但请注意阅读文档中有关 force 标志的警告。

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

【讨论】:

  • 感谢您与大家分享这面旗帜!虽然,它似乎被称为强制,而不是强制:)
  • 更新了答案。感谢您的提示(监督)。
  • 我不知道存档器组件。谢谢,这似乎完全符合我的预期。 :)
  • @khmarbaise 这对我不起作用。尝试了“mvn package”,日志显示“No sources to compile”,但它仍然创建了 .war 文件。请帮忙。
猜你喜欢
  • 2010-11-10
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多