2010-11-18 52 views
2

我試圖建立一個war文件部署到使用Maven Tomcat服務器額外的庫,但已經注意到一些奇怪的行爲建立我的戰爭文件時:不同的行家版本會被包含在WAR文件

當運行從項目文件夾下面的命令:mvn clean compile package -DskipTests

  • Maven的3.0版產生war文件 12.079MB(49個jar文件WEB-INF/lib文件夾)
  • Maven版本3.0β1的 產生war文件8.7 MB(31罐子 個文件在WEB-INF/lib文件夾)
  • Maven的2.11版本中產生的WEB-INF/lib文件夾war文件2.3MB(3個jar文件)

什麼可以造成額外的jar文件是包含在項目中?據推測,他們並不需要,因爲使用2.11版本構建項目過去效果良好。

+1

我認爲如果你在你的問題中展示項目的pom會更容易幫助你。 – Ither 2010-11-18 19:08:24

+0

你是否使用一些設置來進行瘦戰爭? – mglauche 2010-11-25 16:34:14

回答

2

我有類似的事情發生在我身上。這是發生了什麼事。

在Maven 2.x中,插件版本由Maven本身設置。在Maven 3.x中它將使用「最新」並給你一個警告。在我的情況下,使用編譯器插件的更高版本會導致一些差異,並且更高版本的依賴項插件會導致其他差異。

一旦我在我的pom.xml中明確設置了所有插件的所有版本(無論如何都是最佳實踐),不一致就消失了。