2016-09-22 44 views
0

我想創建一個依賴於JAR的Java庫,但我希望JAR能夠使用我的庫/ JAR加載項目,而不是作爲庫中的依賴項提供。我可以構建一個依賴另一個庫而不調用該庫的JAR嗎?

我需要這樣做的原因是所討論的JAR是Android的Adobe Analytics JAR。這些JAR特定於所討論的項目,但方法,包和類在每個JAR中始終命名相同。

在C/C++世界中,您可以爲內部版本和庫的用戶分別創建一個頭文件和一個公共頭文件。有沒有一種方法可以在Java中完成?我通常使用Gradle,但使用其他工具的解決方案非常受歡迎。

回答

0

您可以將所有的依賴包括在一個jar中,並將該超級jar包含到第三方項目中。

+0

同樣的問題。我不需要在我的JAR中包含JAR,就好像我那樣做了JAR就是錯的。我需要庫的用戶提供這個特定於他們項目的JAR的正確版本。 – TTransmit

+0

你可以做到。目標JVM的唯一要求是將所有依賴包含在運行時類路徑中。如果你將依賴範圍定義爲'provided',Maven會爲你做這樣的事情。這會導致項目編譯,但沒有應該在運行時「提供」的依賴關係。如果使用Maven爲你的構建是一個可行的選擇,然後去爲它。你需要的功能是開箱即用 – Antoniossss

0

使用Maven創建具有所有依賴性JAR(所有類將被包含在一個大的JAR) - 與對方的回答How can I create an executable JAR with dependencies using Maven?

+0

我不認爲這回答了我的問題。我不需要在我的JAR中包含JAR,就好像我那樣做了JAR就是錯的。我需要庫的用戶提供這個特定於他們項目的JAR的正確版本。 – TTransmit

+0

然後告訴用戶將他們的JAR複製到您的應用程序Classpath文件夾中並將其包含在您的啓動腳本中 - http://stackoverflow.com/questions/219585/setting-multiple-jars-in-java-classpath – JIV

相關問題