我正在尝试构建一个要使用 Maven 部署到 tomcat 服务器的 war 文件,但在构建我的 war 文件时注意到一些奇怪的行为:

从项目文件夹运行命令时: mvn clean compile package -DskipTests

  • Maven版本3.0生产一个战争文件12.079MB(Web-Inf/Lib文件夹中的49个JAR文件)
  • Maven 版本 3.0 beta1 生成一个 war 文件 8.7MB(31 罐 WEB-INF/lib 文件夹中的文件)
  • Maven 版本 2.11 生成一个 2.3MB 的 war 文件(WEB-INF/lib 文件夹中的 3 个 jar 文件)

是什么导致项目中包含额外的 jar 文件?大概不需要它们,因为使用 2.11 版本构建项目在过去工作得很好。

有帮助吗?

解决方案

我身上也发生过类似的事情。事情是这样的。

在 Maven 2.x 中,插件版本由 Maven 本身设置。在 Maven 3.x 中,它将使用“最新”并给你一个警告。就我而言,使用更高版本的编译器插件会导致一些差异,而更高版本的依赖项插件会导致其他差异。

一旦我在 pom.xml 中明确设置了所有插件的所有版本(无论如何都是最佳实践),不一致的情况就消失了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top