2016-09-22 107 views
0

我已經閱讀了許多關於此的帖子,但我仍然無法找到明確的答案。需要多個本地圖書館的Maven項目

我們需要在我們的maven項目中使用專有的SDK,並且此SDK包含大約30行代碼(SAP產品)需要的約315個jar文件。我讀到的每個答案都是將個人罐子添加到當地的maven回購協議中。這很好,我明白,但是可以添加庫的整個目錄。這些庫僅用於編譯項目,因爲它們已經位於目標服務器的類路徑中(它們都將在pom中提供的範圍內)。

我已經標記了Netbeans 8,因爲這是我使用的IDE,所以如果有人知道在Netbeans中使用Netbeans類路徑上的庫編譯netbeans中的maven項目,這將是一個很好的解決方案...

+0

這裏缺少重要信息的是 - 什麼是SAP產品?可能有現有的解決方案 - 例如這篇文章提供了一種使用maven構建SAP HANA Cloud應用程序的方法 - http://scn.sap.com/community/developer-center/cloud-platform/blog/2014/ 05/27/building-java-applications-with-maven – Nate

+1

這不是你需要的:http://stackoverflow.com/questions/22508433/how-to-add-maven-dependency-jar-file-from- lib文件夾如果在部署的服務器上可用,則依賴項應該具有「提供」類型 –

+0

@DennisR這是一個單獨的jar文件。再次,我不需要額外再做314次嗎? – TXAggie00

回答

0

JAR的只是在文件夾和Zipped組織的java .class。將所有這315個JAR文件解壓到某個地方,然後合併它們的所有內容,然後再將它們壓縮到一個胖JAR文件。如您在其他地方閱讀過的,將這個胖JAR添加到您的本地存儲庫。

這個其他問題可以幫助你的JAR合併的事情:How to combine two Jar files

0

雖然有這麼多亂七八糟的解決方法,理想的是讓編譯失敗和搜索使用搜索工具的缺失編譯罐子像代理程序ransack,您可以在該目錄中的jar中搜索編譯器錯誤中引用的缺失類。當你找到你需要的罐子時,把它們作爲依賴提供給它們。

一個不太乾淨的選項是壓縮所有jar,使用dependency插件將它們解壓縮到一個文件夾,然後將該文件夾添加到構建的類路徑中,然後刪除它們或將它們從最終包中排除。