我是Java的新手,我寫了一個API,我想分發它。我正在創建一個Jar文件來創建一個API,但是我的程序使用了一些其他API,比如Jena和XSOM。如何在Eclipse的幫助下將這些API包括到我的Jar發行版中?我已閱讀過類似的問題,但找不到答案。向我的Java API添加依賴關係
1
A
回答
1
問題沒有解決。這取決於分配用於不同的目的。
如果你不能說清楚,只要拿起一些工具來做到這一點:
如何fatjar?它只是添加任何依賴JAR到一個jar,你可以從eclipse菜單中導出可執行jar。
Apache Maven怎麼樣?它簡化了任何Java項目的依賴管理,但學習如何使用它需要一些時間。
如何構建工具?例如,Apache ANT只是一個爲Java項目設計的類似工具。與maven不同,它以任何你想要的順序組裝項目。
JSmooth怎麼樣?它將你的項目打包成可執行文件。
忘記包含許可證。當您分發第三方JAR時,許可聲明也應該分發。
無論如何,分發有很多目的。例如,準備在Web容器中部署和運行的依賴關係。通常,我們有部署工具(由web容器提供者提供的ant任務或maven插件)。例如,爲獨立的Java應用程序準備依賴關係。在這種情況下,我們應該制定部署工具並考慮自己的過程:
- 應用程序如何運送到生產環境?通過網址下載,通過scp複製,從發佈分支在git回購簽出?
- 如何更新生產中的應用程序?這是一個重要的問題,當您遇到問題時,需要快速修復並進行熱部署。
- 關於類路徑中JAR的更好的順序是什麼?錯誤的訂單將導致類映射或加載錯誤的配置文件。
1
你需要將一些依賴的jar添加到classpath中。
你既可以:
列表中的其他罐子的依賴關係,只是指示您的 「API」將它們添加到自己的類路徑的用戶。
如果你的「api」涉及到一個主類,並且你想把它作爲一個可執行的jar來發布,你可以用包含所需庫的外部文件夾來發布你的jar,然後修改你的jar清單來指定你的主類,類路徑包括那些external dependencies。
如果你用maven,然後列出它們在你的依賴那麼他們將自動包含在客戶端的代碼,因爲他們會被視爲是transitive dependencies.
陰影罐子 - 因此開箱包括他們他們的內容並將它們包含在你的jar中。有三種方式映入腦海此*:
- 如果您正在構建的API中行家,你可以看看shade plugin
- 你可以看看使用有點可笑命名Jar Jar Links (?!)
- eclipse「export as executable jar」允許你保存一個類似功能的ant文件。
(*在任何情況下,它取決於依賴庫的許可,他們是否允許你這樣做) -
相關問題
- 1. Gradle:添加依賴關係
- 2. 向EJB添加依賴關係
- 3. Gradle IntelliJ添加Java依賴關係
- 4. NetBeans中的Maven項目:如何向「依賴關係」和「測試依賴關係」添加依賴關係?
- 5. 添加maven依賴關係
- 6. 在Maven 2中添加JavaScript依賴關係,如Java依賴關係?
- 7. maven依賴關係的API
- 8. 添加jar文件依賴關係
- 9. 添加Flink ML依賴關係
- 10. 依賴關係的nuget依賴關係
- 11. Youtube API依賴關係
- 12. Android Studio - 無法添加依賴關係?
- 13. 在Maven Netbeans中添加依賴關係
- 14. Playframework 2.2添加依賴關係
- 15. 添加在搖籃依賴關係MainActivity
- 16. Maven:添加非JAR依賴關係
- 17. 在gradle中添加依賴關係
- 18. 如何添加admob依賴關係?
- 19. 將Maven依賴關係添加到Eclipse
- 20. 我如何找到Java依賴關係?
- 21. Unbungling我的依賴關係
- 22. 線程依賴關係Java
- 23. java maven rebuild依賴關係
- 24. Java項目依賴關係
- 25. Java Spring依賴關係
- 26. Java System.loadLibrary依賴關係
- 27. Java Maven Jar依賴關係
- 28. 添加依賴到我的build.gradle在android工作室(與依賴關係衝突)
- 29. 爲什麼Maven在添加新的依賴關係時重新添加已存在的依賴關係?
- 30. 向Play 2應用添加託管依賴關係
我不想創建可執行jar文件。我沒有任何主要課程。我想創建一個將被其他人使用的jar文件,就像我使用的API一樣。但是我需要將這些API添加到我的jar文件中,以便人們不必逐個添加這些API以便使用我的API。 – atakan 2012-07-11 06:23:49
所以你想遮蔽罐子 - 或沿着maven路線走下去。 – plasma147 2012-07-11 07:58:25