如何使用Eclipse中包含的外部库创建jar?


89

我已经完成了连接数据库(MySQL)的项目。现在,我要将项目导出为jar。但是我不知道如何包括其外部依赖项?在Eclipse中有什么方法可以做到这一点,还是我应该使用任何脚本?


您打算如何交付该应用程序。到最终用户?网络/互联网,磁盘或闪存驱动器,..还有其他东西吗?做的应用程序。有GUI吗?
Andrew Thompson 2012年

Answers:


140

当您将项目导出为“可运行jar”(在项目->导出->可运行jar上单击鼠标右键)时,可以选择将所有依赖项打包到生成的jar中。它还有两种导出库的方法(请参见屏幕截图),在决定使用哪种打包方法时请注意许可证。

包库

“启动配置”下拉列表中包含包含main(String[])方法的类。当您“运行”罐子时,将启动选定的类。

导出为可运行jar会使用您的构建路径(项目上的鼠标右键-> Build Path-> Configure Build Path ...)。当导出为“常规”(不可运行)jar时,您可以在项目中选择任何文件。如果您的项目文件夹中有这些库,则可以包括它们,但可以包含外部依赖项,例如,不能包含在内(对于Maven项目,请在此处搜索)。


2
@Joost:先生,尝试将Java应用程序导出为可运行的jar时,在启动配置标题下没有任何选择。什么可能是错误的还是缺少的?
Rat-tat-a-tat Ratatouille

Eclipse列出了main()它所知道的方法。尝试一次运行您的应用程序(右键单击项目,运行方式,Java应用程序),然后再次导出。
Joost 2013年

这与该问题无关,因为它明确指出了Eclipse。如果您找不到答案,请发布一个新问题(肯定已经在该网站的某个位置)
Joost 2014年

1
有人知道如何在eclipse中对不可运行的jar执行此操作吗?没有与“必需的库”相关的选项。
jb1 2015年

@ jb1你有没有解决这个问题?
TheKingElessar

8

您可以使用Export-> Java-> Runnable Jar创建一个包含其依赖项的jar

另外,您也可以使用fatjar eclipse插件将罐子捆绑在一起


5

您可以右键单击项目,单击导出,键入“ jar”,选择“可运行的JAR文件导出”。在那里,您可以选择“将所需的库提取到生成的JAR中”。


3

亲自,

上面的答案对我都不起作用,我仍然不断收到NoClassDefFound错误(我使用Maven进行依赖)。我的解决方案是使用“ mvn全新安装”进行构建,并使用该命令创建的“ [project] -jar-with-dependencies.jar”。同样,在Eclipse中,您可以右键单击项目->运行方式-> Maven安装,它将jar放在目标文件夹中。


2

如果要导出Java Web项目的所有JAR文件,请使用ZIP工具(例如7-Zip)打开最新生成的WAR文件,导航至/ WEB-INF / lib /文件夹。在这里,您将找到该项目所需的所有JAR文件(如“参考库”中所列)。


0

将源导出到jar时,请确保从选项中选择可运行的jar选项。然后选择是否要打包所有依赖项jar或仅将它们直接包含在jar文件中。这取决于您正在处理的项目。

然后,您可以通过java -jar example.jar直接运行jar。


0

要在Eclipse中生成jar文件,请右键单击要为其生成的项目,选择“导出”>“ Java”>“ Runnable Jar File”,

在此处输入图片说明

在此处输入图片说明

它的创建jar包含Pom.xml的所有依赖项,但是如果您在应用程序中使用第三方依赖项,请确保许可证问题。


0

如果它是一个独立的(主要方法)java项目,则没有任何特定路径将所有jar放入项目内,而不是任何特定路径,然后右键单击该项目-> export-> Runnable jar->选择Lunch配置和Library Handeling然后选择单选按钮选项“将所需的库打包到生成的jar中”->完成。

要么

如果您有一个Web项目,则将所有jar放在web-inf / lib文件夹中,然后执行相同的步骤。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.