Eclipse无法创建可运行的jar包 - 未选择资源

37
当我尝试将我的项目导出为可运行的jar包时,Eclipse 给出了以下错误信息:

没有选择资源。

该项目在Eclipse中正常运行,我已经尝试在导出之前清理过项目,但还是不行。
有什么办法可以解决这个问题吗?
14个回答

65

问题很可能出在您的运行配置上。

  • 进入包含您希望在命令行调用jar文件时自动运行的main(String[] args)方法的类
  • 右键单击-> Run As...-> Application
  • 确保它运行得符合您的要求
  • 现在如前所述进行导出过程,选择新创建的启动配置。

最后一步非常关键。


1
请问您能详细说明一下新创建的启动配置在哪里找到吗?所有的东西看起来都一样。 - tricknology
我认为原意是你要从标有“启动配置”的下拉菜单中选择正确的项目,这对我来说是有效的。 - CSCH
1
刚试了几次,还是出现了错误。 - Ben Arnao
1
这个解决方案是正确的,但是对于像我这样的新手,你可能应该添加一个说明:弹出窗口顶部的“启动配置”值是一个下拉菜单。我意识到这应该很明显,但我尝试了三次才明白并选择了正确的运行配置。此外,当将项目从一个设备移动到另一个设备时,这些问题似乎会出现。 - Keith Fosberg

14

我找到了另一种解决方案。

我发现JDK 9中存在一个错误。

我通过降级到JDK 8(1.8.1)来解决它。


我将Eclipse的JRE切换到1.8,它可以工作了!谢谢! - Zhiya
一样的,这解决了我的问题。我也在使用Maven,还有一个适用于“m2e的Java 8支持”的Eclipse插件,但没有适用于Java 9的插件。我怀疑Maven(至少对于Eclipse而言)可能尚不支持Java 9。 - Lightfire228
这对我也起作用了,非常感谢您,先生。 - Ericson Willians

5

对我来说,进行 (project->clean) 并创建一个新的运行配置(正确的项目和包含 main() 方法的类名,已选中)解决了我的问题。你只需要在导出可运行的 JAR 文件时选择新的运行配置即可 :)


3
我解决了这个问题,我将项目导出为档案文件。然后我打开了一个新的工作区并导入了存档的项目。之后,我尝试将该项目导出为可运行的jar文件,经过两次尝试后,jar文件按照预期运行。
我仍然不知道确切的原因是什么,但我希望有人遇到同样的问题会发现这个方法有用。

1
尝试过了,但对我没用。然而,简单地删除运行配置并重新运行就可以解决问题。 - Lee Fogg
是的。不知道具体问题是什么。但是归档和重新导入解决了问题。 - Vijay

1

尝试这个,这是在Eclipse中创建jar或可运行jar的方法,项目中的所有外部库都将被包含。

File -> Export-> Java ->Runnbale JAR file

Launch configuration : your Class containing the public static void main(String[] args)

Export destination : Target place

Library Handling:

Package required libraries into generated JAR

FINISH

1
尝试过了,我仍然得到这个错误,我还将构建路径源选项卡与新创建的项目进行比较,没有发现任何意外之处。 - TrashCan
我将尝试将项目导出到归档或文件系统中。然后,我将尝试在另一个工作区导入导出的项目并从那里尝试。 - TrashCan

0

只需将项目复制为新项目。通过创建新的运行/调试设置来配置构建路径,这将解决问题。


0
我曾经遇到过同样的问题,但最终解决了。也许你应该交叉验证一下在这个项目中选择的main类。有可能其他项目的main类与你所选的main类同名。请确保你所选的main类来自你所选的项目。

0
问题出在你的包上。你可能重命名了它,在导出选项中,程序混淆了,使用了你的包的第一个名称。

0
这通常发生在您更改程序包名称时。这会导致关于程序包的混淆,因为根据程序导出,主方法仍然写在旧的包中。 要解决此问题,只需将其复制并粘贴到具有不同名称的相同包中,然后尝试导出它。也要检查日志。

0
当您在Eclipse中单击此选项时,应该会出现一个弹出窗口,让您选择要导出的文件,您需要选择src文件夹。

1
只有当我将项目导出为常规的jar文件时,才会弹出此窗口。而当我将项目导出为可运行的jar文件时,则不会出现此窗口。 - TrashCan

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