![](/img/trans.png)
[英]Maven: how to do runable jar (uberjar) with included external libraries
[英]How to create a jar with external libraries included in Eclipse?
我完成了連接到數據庫 (MySQL) 的項目。 現在我想將項目導出為 jar。但是我不知道如何包含它的外部依賴項? 在 Eclipse 中有什么方法可以做到這一點,或者我應該為此使用任何腳本嗎?。
當您將項目導出為“可運行 jar”(在項目上單擊鼠標右鍵 -> 導出 -> 可運行 jar)時,您可以選擇將所有依賴項打包到生成的 jar 中。 它還有兩種其他方式(見截圖)來導出你的庫,在決定你將使用哪種打包方法時要注意許可證。
“啟動配置”下拉列表中填充了包含main(String[])
方法的類。 當您“運行”jar 時,將啟動選定的類。
導出為可運行的 jar 使用構建路徑上的依賴項(右鍵單擊項目 -> 構建路徑 -> 配置構建路徑...)。 當您導出為“常規”(不可運行)jar 時,您可以選擇項目中的任何文件。 如果您的項目文件夾中有庫,則可以包含它們,但不能包含外部依賴項,例如maven (對於 maven 項目,請在此處搜索)。
您可以使用 Export->Java->Runnable Jar 創建一個包含其依賴項的 jar
或者,您也可以使用fatjar eclipse 插件將 jar 捆綁在一起
您可以右鍵單擊項目,單擊導出,鍵入“jar”,選擇“Runnable JAR File Export”。 在那里您可以選擇“將所需的庫提取到生成的 JAR 中”。
親身,
上面的答案都不適合我,我仍然不斷收到 NoClassDefFound 錯誤(我使用 Maven 作為依賴項)。 我的解決方案是使用“mvn clean install”構建並使用該命令創建的“[project]-jar-with-dependencies.jar”。 同樣,在 Eclipse 中,您可以右鍵單擊項目 -> 運行方式 -> Maven 安裝,它將把 jars 放在目標文件夾中。
如果要導出 Java 網絡項目的所有 JAR 文件,請使用 ZIP 工具(例如 7-Zip)打開最新生成的 WAR 文件,導航到 /WEB-INF/lib/ 文件夾。 在這里,您將找到該項目所需的所有 JAR 文件(如“參考庫”中所列)。
將源代碼導出到 jar 時,請確保從選項中選擇可運行的 jar 選項。 然后選擇是要打包所有的依賴jar還是直接將它們包含在jar文件中。 這取決於您正在從事的項目。
然后直接通過 java -jar example.jar 運行 jar。
如果它是一個獨立的(Main 方法)java 項目,那么 Not any specific path 把所有的 jars 放在項目中而不是任何特定路徑然后右鍵單擊項目 -> export -> Runnable jar --> 選擇午餐配置和庫處理然后選擇單選按鈕選項“將所需的庫打包到生成的 jar 中”--> 完成。
或者
如果你有一個 web 項目,那么把所有的 jars 放在 web-inf/lib 文件夾中並執行相同的步驟。
導出前,點擊Buildpath,配置java buildpath,在庫中添加external jars。 然后嘗試導出為可運行的 jar。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.