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

时间:2010-11-18 16:53:39

标签: maven-2 war maven-3

我正在尝试构建一个使用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罐 WEB-INF / lib文件夹中的文件)
  • Maven版本2.11生成一个war文件2.3MB(WEB-INF / lib文件夹中的3个jar文件)

什么可能导致额外的jar文件包含在项目中?据推测,不需要它们,因为使用2.11版本构建项目过去一直运行良好。

1 个答案:

答案 0 :(得分:2)

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

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

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