2015-10-16 51 views
0

我正在編寫一個GUI,它能夠使用第三方插件運行一系列JUnit測試來連接到設備。如何使用帶有多個包的eclipse生成可執行jar文件

我的麻煩是創建一個可執行的jar文件,它能夠運行GUI和JUnit測試。我嘗試了幾乎所有的東西。

我的GUI是在一個單獨的包中,而第三方工具是在它自己的單獨包中,並且在其他包中有很多依賴關係。當我通過eclipse運行它時,我可以成功運行整個程序,但只要導出GUI組件,它就會像運行時那樣運行。

在eclipse中使用導出功能只是給我一個運行GUI的文件,但只要GUI應該調用第三方工具,什麼都不會發生,並且會創建一個「WinPos」文件。看起來好像第三方工具已經啓動了,因爲它有幾個啓動的窗口,但這些窗口是關閉的,看起來程序終止了。我假設一些依賴關係丟失。

我想生成一個jar文件,它可以執行整個程序,因爲它是通過eclipse運行的。

有什麼建議嗎?

回答

1

米的第一個建議:

自己META-INF/MANIFEST.MF文件添加到您的jar包。您應該使用它來聲明特定的class-path,其中包含執行所需的所有JAR。

https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html

(也許你覺得有趣也設置Main-Class屬性。)

而且,科西嘉,當你部署應用程序,包括所有與你的罐子沿需要的jar文件。

+0

因此,在生成GUI的可運行jar文件之前,我應該首先製作項目中所有其他文件的「jar」? 是不是有一種簡單的方法將它全部保存在一個.jar文件中? 圖形用戶界面不是一個完整的程序,但我將繼續努力,我將需要它的測試人員,所以這將是很好的,我只是編譯整個程序,每次我編譯它。以便我可以將其分發給我的測試人員。 – Zeliax

+0

「班級路徑」應該是什麼?當我檢查.jar文件中生成的Manifest.mf文件時,它缺少一個類路徑..或者更確切地說它只有:「Class Path:。」。 (這是一個點)。並通過清單查看它沒有提及我的第三方工具,但我不知道這是否是nescesary ..? – Zeliax

+0

我假設你的Eclipse項目依賴於其他外部JAR。不是嗎?而且:你的「第三方工具」究竟是如何部署的?它是一個JAR文件嗎? –

相關問題