【问题标题】:Different maven versions cause extra libraries to be included in WAR file不同的 maven 版本会导致额外的库包含在 WAR 文件中
【发布时间】:2010-11-18 16:53:38
【问题描述】:

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

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

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

什么可能导致项目中包含额外的 jar 文件?可能不需要它们,因为过去使用 2.11 版构建项目效果很好。

【问题讨论】:

  • 我认为如果您在问题中显示项目的 pom 会更容易为您提供帮助。
  • 你使用一些设置来进行瘦身战吗?

标签: maven-2 war maven-3


【解决方案1】:

我也遇到过类似的事情。这就是发生的事情。

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

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

【讨论】:

    猜你喜欢
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2019-02-04
    • 1970-01-01
    • 2014-11-12
    • 2013-11-17
    相关资源
    最近更新 更多