2012-11-29 97 views
0

我正在用Eclipse構建一個使用Maven的Web應用程序。服務器將成爲Apache Tomcat。 Eclipse已經有了tomcat 6庫,您可以將其包含在您的構建路徑和Web應用程序模塊構面中以供選擇。這就是我在沒有Maven的情況下工作的方式。Tomcat庫包含在Eclipse中與Maven

但是,Maven能夠包含所需的依賴關係以在tomcat中使用它們。我的問題是,什麼是正確的,不要通過Maven包含它們並繼續像之前那樣做,或者不配置eclipse構建路徑並使maven解決它?

回答

1

像服務器API這樣的容器特定API的最佳方法是將其包含在maven POM中,但是將依賴項設置爲提供的範圍,以便它可以在eclipse的類路徑中使用,但maven不會將其打包到WAR文件中生成它時。例如。

<dependency> 
    <groupId>...</groupId> 
    <artifactId>...</artifactId> 
    <version>...</version> 
    <scope>provided</scope> 
</dependency> 
+0

與servlet-api一起工作,甚至不包括構建路徑中的服務器庫。沒問題部署,謝謝! –

0

據我所知,Maven並沒有解決它,如果你沒有具體說你的項目需要這些依賴關係。最好的方法是配置pom.xml並設置依賴項並使用Maven構建項目並在eclipse中進行編輯。所以一旦你完成了,你可以輕鬆地「打包」(構建戰爭)並將其部署到任何服務器位置。

+0

當然,我說的是包括在pom.xml中的servlet-api的依賴,我不知道是否有任何Maven的Tomcat插件可以解決。我的問題是如果還需要使用Eclipse添加服務器庫。順便說一句,我使用Eclipse WTP進行部署。它在我通過WTP進行部署時起作用,但在導出WAR文件時不起作用。 –

+0

正如我記得當你使用servlet.jars在tomcat中部署項目時會出現問題。由於Tomcat(不知道大約6,但7)已經擁有它。所以,如果它給你一個「無類」的錯誤,這意味着你已經添加了相同的罐子兩次(或沒有)。需要手動檢查並設置pom。有時候maven會添加來自不同項目的相同jar。所以maven的依賴樹會幫助你找到那些。 – dinesh707

相關問題