在Eclipse中生成包含外部库的Jar文件

5

我有一个在Eclipse中编写的Java应用程序,在那里它可以正常工作。

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

我想知道是否有一种使用Eclipse生成必要文件以便在另一台机器上运行此应用程序的方法?

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

如果我选择“创建jar”(而不是“创建可执行jar”),我不知道有没有地方可以包含这两个jar文件。也许没有地方可以包含它们以便使用。

如果可能,我不想使用Ant,我不想使用Maven,我也不想下载另一个工具。在我看来,Eclipse已经拥有所有这些信息,我怀疑它已经能够在不必去学习另一个“聪明”的工具的情况下完成此操作。


请查看我的答案这里,很容易,不要害怕Ant。 :) - Garrett Hall
我并没有说我害怕它;我只是说除非必须,否则我不想使用它。根据其他答案,我不需要使用它。虽然我说过我不想下载它,但我真正不想做的是为了似乎在Eclipse中可以实现的事情而开始另一个学习曲线。 - arcy
只需按照aleroot的答案,生成一个Ant脚本,然后您所要做的就是删除几行XML。没有什么需要学习或下载的。 - Garrett Hall
"没有需要学习或下载的东西吗?那么删除哪些XML行并不重要?也许我应该在生成脚本后以某种方式运行它?听起来好像确实有东西需要学习。我不知道需要学多少,我不想开始,这就是为什么我不想要的原因。而且在这期间,这里已经发布了一个不涉及其他工具的答案,而我说过我更喜欢这种方法。你没有解释为什么你的解决方案更好,只是告诉我使用它。不用了,谢谢。" - arcy
@rcook - 请尽量理解这些人在这里试图帮助你,也许你可以尝试表现得不那么“愤怒”,接受一些你可能不喜欢听到的建议。谢谢。 - Kev
3个回答

7
Eclipse自带可执行JAR导出向导,可以生成一个包含所需库的可运行JAR文件或将所需库打包在JAR文件旁边的文件夹中。导出方法为:依次点击“文件”--->“导出”,然后选择“Java - Runnable Jar”选项。在弹出的窗口里,您可以选择如何打包JAR文件以及如何处理库文件。同时,您也可以保存Ant脚本以备后续修改或使用。请注意,不要删除HTML标签。

2

实际上,您应该使用Ant或Maven来完成您的任务,我看不到其他选择。Ant已经与eclipse捆绑在一起,您只需要安装JDK,而不仅仅是JRE。

Ant非常容易学习,您可以在互联网上找到数十亿个示例。使用ant,您可以做到完全符合您的要求。

Maven是构建和打包jar以及执行许多其他操作的更现代方法。Maven也是一个不错的选择。


0
我支持使用Maven。Eclipse有一个不错的Maven集成(m2eclipse)。然后可以查看这个答案,了解如何使用Maven2有效地构建jar文件。 使用Maven 2构建可运行的jar文件

好的,如果你再读一遍问题,你会发现我说过我不想这么做。如果你和其他人坚持认为这是唯一的方法,你至少应该解释一下为什么。一个答案似乎只用eclipse就可以实现;希望这能够解决问题。 - arcy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接