如何将Java应用程序导出为runnable?

时间:2014-08-11 19:23:23

标签: java eclipse executable-jar

我创建了一个名为TotalBeginner的Java项目,并将其导出为jar。然后我在带有SWT GUI的桌面应用程序中引用它,称为MyLibrary。我现在希望能够在Eclipse IDE之外运行MyLibrary(我正在运行Luna 4.4.0)。在遵循Stack Overflow问题的其他答案的建议时,我导出为Runnable JAR File。我选择"将所需的库打包到生成的JAR" - 所以,如果我理解正确,像TotalBeginner.jar这样的引用库应该包含在MyLibrary.jar中,对吗?但是,当我运行它时,它返回到命令提示符,绝对没有任何事情发生。任务管理器(Windows 7)不显示Javaw进程。我错过了什么?感谢。

C:\Users\jimerman\>javaw -jar MyLibrary-app.jar

C:\Users\jimerman\>_

没有错误,没有对话框。

1 个答案:

答案 0 :(得分:1)

我怀疑你的JAR中只有你自己项目的类(实际上这很好)并且你没有把所有依赖的JAR放在classpath中(因为它抱怨无法找到org/eclipse/swt/events/DisposeListener

找出所有依赖的JAR并将其手动放入java命令的类路径中可能会很繁琐。

考虑使用像Maven和Gradle这样的构建工具,这将为您节省收集依赖项的麻烦,并且有一些插件可以帮助您构建使执行更容易的工件。

例如,通过使用Maven,您需要的是准备POM,将SWT(和其他依赖项)作为项目的依赖项。

然后通过使用shade,appassembler或assembly插件,您可以轻松拥有包含所有依赖项的超级jar,或者拥有一个zip文件,所有依赖项都放在特定目录中,您可以使用生成的命令轻松执行

相关问题