我需要在我的項目中使用一些第三方jar。 該項目是一個Spring項目,該jar也使用Spring。春天 - 包括一個本身在Spring項目中使用Spring的jar的方法
有沒有一種方法可以將第三方jar包含在我的項目中?我發現很難找到第三部分jar的每個依賴項並注入它。
我需要在我的項目中使用一些第三方jar。 該項目是一個Spring項目,該jar也使用Spring。春天 - 包括一個本身在Spring項目中使用Spring的jar的方法
有沒有一種方法可以將第三方jar包含在我的項目中?我發現很難找到第三部分jar的每個依賴項並注入它。
應該不是問題。通常,應用程序上下文可以在同一個JVM中獨立於另一個進行加載。但是,如果要從類路徑中的資源文件加載bean定義(例如使用ClasspathXmlApplicationContext),請確保文件的位置和名稱不與第三方JAR衝突。例如,如果它們都位於類路徑中不同JAR中的「/applicationContext.xml」中,則會遇到問題。讓你的獨特。
我不清楚你的意思是「include」。
如果第三方JAR在戰爭項目中被定義爲依賴關係,它將自動捆綁到戰爭的WEB-INF/lib文件夾中,當它被war plugin打包時。那麼jar中的任何類都將在類路徑中,因此可以在Spring配置中引用。你有比這更具體的要求嗎?
另請注意,如果第三方jar是一個正確定義的Maven項目,它的依賴關係將在其pom中定義。這些傳遞性依賴也被捆綁到戰爭中(除非你用非默認的scope定義它們,在這種情況下它們可能不是)。
您在Maven中央存儲庫上找到的任何罐子應該用其所有傳遞依賴性定義爲。如果您在解決問題時遇到問題,請更新您的答案,以便找到相關的Maven憑證。
根據您的評論更新。一旦jar放在war的類路徑中,就可以通過將它們導入到war的應用程序上下文中來引用它聲明的所有Spring配置文件。您只需以如下格式指定導入:「jar:file:// jarName!/path/to/config.xml」
我猜第三方jar沒有pom.xml。也許它有另一個構建腳本可以幫助。或者,也許它在某處記錄它的依賴關係。 – 2009-09-15 15:34:36