【问题标题】:Generating a Jar in Eclipse including external library在 Eclipse 中生成一个包含外部库的 Jar
【发布时间】:2011-12-20 15:02:09
【问题描述】:

我有一个用 Eclipse 编写的 java 应用程序。它在那里工作得很好。

它可以从我导出到的目录中的命令行正常运行。在该目录中是另一个目录,其中包含应用程序所需的两个 jar 文件,并且清单文件具有指定它们的 Class-path 选项。

我想要一种方法来使用 eclipse 生成必要的文件来打包这个应用程序以在另一台机器上运行。那可能吗?

如果我选择“创建可执行 jar 文件”,它会创建这个巨大的文件;它确实解压缩并重新打包了这两个库,我知道这是包含它们的功能的一种方法。如果它们以某种方式留在自己的罐子里,我实际上会更喜欢它,但我不确定 eclipse 可以做到这一点。更烦人的是可执行 jar 文件选项将我的 eclipse 项目中的大量文件放入该 jar 文件中。我没有看到选择包含在其中的内容的选项,尽管我确实看到了在项目属性中输入包含和排除“规则”的地方。这些适用于这里吗?我还有其他地方可以选择做什么和做什么没有被包含在“可执行jar”中?

如果我选择“创建 jar”(“创建可执行 jar”的 ins),我看不到任何地方可以选择在任何地方包含这两个 jar 文件。也许没有地方可以将它们包含在可以使用的地方。

如果可能,我不想使用 Ant,我不想使用 Maven,我不想下载其他工具。在我看来,Eclipse 已经拥有所有这些信息,我怀疑它已经可以做到这一点,而不必去学习另一个“漂亮”的工具。

【问题讨论】:

  • 请看我的回答here,很简单,不怕Ant。 :)
  • 我没有说我害怕;我说除非必须,否则我不想使用它。根据其他答案,我没有。虽然我说我不想下载它,但我真正不想做的是从另一个学习曲线开始,寻找似乎在 eclipse 能力范围内的东西。
  • 按照 aleroot 的回答,生成一个 Ant 脚本,您所要做的就是删除几行 XML。没有什么可学习或下载的。
  • “没有什么可学习或下载的”?所以我删除哪些 XML 行并不重要?也许我应该在生成脚本后以某种方式运行它?所以听起来有一些东西要学。我不知道多少,我不想开始,这就是我不想开始的原因。所有这一切,虽然这里发布了一个不涉及其他工具的答案,但我说我更喜欢。您不必费心说出为什么您的解决方案更好,您只需告诉我使用它即可。不,谢谢。
  • @rcook - 请尽量感谢人们在这里试图帮助您,也许您可​​以尝试对您可能不喜欢听到的建议不那么“愤怒”。谢谢。

标签: java eclipse jar executable-jar


【解决方案1】:

Eclipse 有自己的 Jar 导出向导,用于生成可运行的 jar,该 jar 包含所需的库或所需的库位于 jar 旁边的文件夹中。

进入文件 ---> 导出然后选择 Java - Runnable Jar

然后您可以选择如何打包 jar 以及如何处理库:

您也可以保存ant脚本以供以后修改或使用...

【讨论】:

    【解决方案2】:

    您实际上应该使用 Ant 或 Maven 来完成您的任务,我认为没有其他选择。 Ant已经打包了eclipse,你只需要安装一个JDK,而不仅仅是一个JRE。

    Ant 非常容易学习,您可以在互联网上找到数十亿个示例。使用 ant,您可以完全按照自己的意愿行事。

    Maven 是构建和打包 jar 以及做更多其他事情的最新方式。 Maven 也是一个不错的选择。

    【讨论】:

      【解决方案3】:

      我将为 Maven 投票。 Eclipse 有一个不错的 Maven 集成(m2eclipse)。然后查看此答案以使用 Maven2 有效构建 jar

      Building a runnable jar with Maven 2

      【讨论】:

      • 好吧,如果你再读一遍这个问题,你会发现我说过我不想这样做。如果您和其他人坚持认为这是唯一的方法,您至少可以解释原因。一个答案似乎是单独使用 eclipse 来做到这一点。希望这会起作用。
      猜你喜欢
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 2012-06-17
      • 2011-04-25
      • 2012-06-22
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多