我正在對Maven進行第一次破解並遇到問題。我們有一個部署在Tomcat 6上的應用程序。我們有幾個jar文件被添加到tomcat的lib文件夾中。然後在我們的構建路徑中添加這個tomcat庫。將Tomcat庫添加到Maven
如何添加tomcat庫到maven?這是一個不好的方法來做到這一點?有沒有其他的選擇?
在此先感謝
我正在對Maven進行第一次破解並遇到問題。我們有一個部署在Tomcat 6上的應用程序。我們有幾個jar文件被添加到tomcat的lib文件夾中。然後在我們的構建路徑中添加這個tomcat庫。將Tomcat庫添加到Maven
如何添加tomcat庫到maven?這是一個不好的方法來做到這一點?有沒有其他的選擇?
在此先感謝
任何Tomcat的lib目錄應與範圍provided
行家依賴:
提供
這很像編譯,而是指你所期望的 JDK或容器提供 依賴在運行時。例如, 建設 的Java企業版的Web應用程序時,你會 設置提供,因爲Web容器 提供這些類的Servlet API的 的依賴和相關的Java EE的API範圍 。這個範圍是 僅在編譯和 測試類路徑上可用,並且不是傳遞性的。
例子:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
如果庫是你自己的,你必須安裝或將它們部署到本地或遠程存儲庫。
那麼我們的tomcat lib文件夾中有以下內容:一個jndi.properties文件,mysql-connector.X.jar,postGis.x.jar,postGreSQL.x.jar,ourJarFile.jar和另一個customJar.jar。我猜測我可以使mysql,postgre和postgis依賴,但我不清楚如何處理我們的自定義jar和jndi屬性文件。 – blong824 2011-04-27 16:53:51
@blong或許使用範圍系統:http://stackoverflow.com/questions/4959007/using-closed-source-dependencies-with-maven/4960243#4960243 – 2011-04-27 17:15:15
您應該從Tomcat安裝的依賴關係添加到Maven項目,分開。然後,將其範圍設置爲「提供」,以便它們不與工件捆綁在一起。
您應該在POM的<dependencies>
部分列出項目的每個依賴關係。
這種方式Maven知道要對它們進行編譯,並將這些依賴包括在它爲你打包的.war
文件的WEB-INF/lib
文件夾中。支持Maven的IDE可以將這些庫包含在它們用於顯示/構建/運行代碼的類路徑中。
你特別依賴什麼tomcat庫? :O是不是servlet-api(即標準j2ee)之一? – Liv 2011-04-27 16:43:34
它們是我們在新項目中開發和使用的jar文件。 – blong824 2011-04-27 16:45:19