【问题标题】:How to create a jar with external libraries included in Eclipse?如何使用 Eclipse 中包含的外部库创建 jar?
【发布时间】:2012-06-17 12:23:03
【问题描述】:

我完成了连接到数据库 (MySQL) 的项目。现在我想将项目导出为 jar。但我不知道如何包含它的外部依赖项?有什么方法可以在 Eclipse 中执行此操作,或者我应该为此使用任何脚本吗?。

【问题讨论】:

  • 您打算如何交付应用程序。给最终用户?网络/互联网,磁盘或闪存驱动器,..还有什么?应用程序。有图形用户界面吗?

标签: java eclipse jar


【解决方案1】:

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

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

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

【讨论】:

  • @Joost:先生,我在尝试将 java 应用程序导出为可运行 jar 时,在启动配置标题下没有任何选项。可能有什么问题或遗漏?
  • Eclipse 列出了它知道的main() 方法。尝试运行您的应用程序一次(右键单击项目、运行方式、Java 应用程序),然后再次导出。
  • 这与这个问题无关,因为它清楚地说明了 Eclipse。如果您找不到答案,请发布一个新问题(肯定已经在本网站的某个地方)
  • 有谁知道如何为 Eclipse 中的不可运行的 jar 执行此操作?没有与“必需库”相关的选项。
  • @jb1 你有想过这个吗?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      个人,

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          要在eclipse中生成jar文件,在要生成的项目上右击,选择Export>Java>Runnable Jar File,

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

          【讨论】:

            【解决方案7】:

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

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

            【讨论】:

              【解决方案8】:

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

              或者

              如果你有一个 web 项目,那么将所有的 jars 放在 web-inf/lib 文件夹中并执行相同的步骤。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-12-20
                • 2013-11-07
                • 2011-04-25
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多