代码之家  ›  专栏  ›  技术社区  ›  James Goodwin

不同的maven版本会导致在war文件中包含额外的库。

  •  2
  • James Goodwin  · 技术社区  · 14 年前

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

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

    • Maven版本3.0生成一个war文件 12.079MB(WEB-INF/LIB文件夹中的49个JAR文件)
    • Maven版本3.0 Beta1 生成一个WAR文件8.7MB(31 JAR WEB-INF/LIB文件夹中的文件)
    • Maven版本2.11生成一个war文件2.3MB(WEB-INF/LIB文件夹中的3个JAR文件)

    什么会导致额外的JAR文件包含在项目中?由于使用版本2.11构建项目在过去工作得很好,因此可能不需要它们。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Dave    14 年前

    我也经历过类似的事情。这是发生的事情。

    在Maven2.x中,插件版本是由Maven自己设置的。在Maven3.x中,它将使用“最新”并给出警告。在我的例子中,使用更高版本的编译器插件会导致一些差异,而更高版本的依赖插件会导致其他差异。

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