98

我完成了连接到数据库(MySQL)的项目。现在我想将项目导出为 jar。但是我不知道如何包含它的外部依赖项?有没有办法在 Eclipse 中做到这一点,或者我应该为此使用任何脚本?

4

8 回答 8

151

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

包库

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

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

于 2012-06-14T13:04:59.293 回答
9

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

或者,您也可以使用fatjar eclipse 插件将 jar 捆绑在一起

于 2012-06-14T13:05:49.683 回答
5

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

于 2012-06-14T13:06:12.057 回答
3

亲自,

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

于 2017-01-16T18:03:36.080 回答
2

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

于 2016-11-10T16:18:26.210 回答
1

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

在此处输入图像描述

在此处输入图像描述

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

于 2018-06-14T09:35:18.723 回答
0

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

然后直接通过 java -jar example.jar 运行 jar。

于 2015-01-31T05:44:50.820 回答
0

如果它是一个独立的(主要方法)java项目然后没有任何特定路径将所有jar放在项目中而不是任何特定路径然后右键单击项目->导出->可运行jar->选择午餐配置和库处理然后选择单选按钮选项“将所需的库打包到生成的 jar 中”-> 完成。

或者

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

于 2018-07-13T16:05:25.367 回答