2015-10-16 62 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文件吗? –

相关问题