【问题标题】:How to generate executeable jar file using eclipse with multiple packages如何使用带有多个包的eclipse生成可执行jar文件
【发布时间】:2016-01-14 23:06:02
【问题描述】:

我正在编写一个 GUI,它能够使用第三方插件运行一系列 JUnit 测试以连接到设备。

我的麻烦是创建一个能够运行 GUI 和 JUnit 测试的可执行 jar 文件。我几乎尝试了所有方法。

我的 GUI 在一个单独的包中,而第三方工具在它自己的单独包中,并且在其他包中有很多依赖项。当我通过 eclipse 运行它时,我可以成功运行整个程序,但是一旦我导出它,只有 GUI 组件在它出现时运行。

在 Eclipse 中使用导出功能只会给我一个运行 GUI 的文件,但只要 GUI 应该调用 3rd 方工具,什么都不会发生,并且会创建一个“WinPos”文件。似乎第 3 方工具已启动,因为它有几个启动窗口,但这些窗口已关闭,似乎程序已终止。我假设缺少一些依赖项。

我想生成一个 jar 文件,它可以在通过 eclipse 运行时执行整个程序。

有什么建议吗?

【问题讨论】:

    标签: java eclipse user-interface junit jar


    【解决方案1】:

    米第一个建议:

    将您自己的META-INF/MANIFEST.MF 文件添加到您的jar 包中。您应该使用它来声明一个特定的class-path,其中包括执行所需的所有 JAR。

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

    (也许你觉得设置Main-Class 属性也很有趣。)

    而且,更重要的是,当您部署应用程序时,将所有需要的 JAR 与您的 jar 一起包括在内。

    【讨论】:

    • 所以我应该先制作项目中所有其他文件的“jar”,然后再生成我的 GUI 的可运行 jar 文件?难道没有一种更简单的方法可以将它们全部保存在一个 .jar 文件中吗? GUI 不是一个完成的程序,但我将继续努力,我需要测试人员,所以每次编译它时构建整个程序对我来说会很好。这样我就可以将它分发给我的测试人员。
    • “类路径”应该是什么?当我检查在 .jar 文件中生成的 Manifest.mf 文件时,它缺少一个类路径.. 或者它只是有:“类路径:。” (即一个点)。并且通过清单查看它没有提到我的 3rd 方工具,但是我不知道这是否是必要的..?
    • 我假设您的 Eclipse 项目依赖于其他外部 JAR。不是这样吗?此外:您的“第 3 方工具”究竟是如何部署的?是 JAR 文件吗?
    • 我的 3rd 方工具是由一个“朋友”编写的,是一组类组成一个没有任何主要“方法”的程序。
    • 没有main 没关系,但必须在分发之前将每个Java API 正确打包到JAR 中。那是你的朋友应该做的。如果他/她不会,你应该这样做。
    猜你喜欢
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多