在eclipse中创建Runnable jar时出错

时间:2012-01-05 12:04:57

标签: java eclipse

我有一个项目,我想从中制作一个Runnable Jar。 我有一个在Eclipse中运行的运行配置。 当我尝试导出Runnable Jar时,我为项目使用的每个.jar都会收到此错误: “Fat Jar导出:无法找到”

的类路径条目

关于我需要做些什么来实现这项工作?

6 个答案:

答案 0 :(得分:3)

我有同样的问题,解决方案相当容易。只需右键单击您的项目,选择属性 - > Java Build Path ,然后打开 Libraries 标签,点击添加外部JAR ,然后选择您需要的所有库(您获得的库)错误消息,在我的例子中是derbyclient.jar),用 OK 确认。然后在Package Explorer中,您将获得引用的库,并且将项目导出到runnable JAR中所需的所有其他库:

enter image description here

由于未知原因,即使您在项目 - >>中正确配置,Eclipse也不会自动添加它们。右键单击 - > 运行方式 - > 运行配置 - > Classpath 标签。您必须使用添加外部JAR

手动添加所需的所有库

答案 1 :(得分:1)

我能够通过删除项目目录中eclipse创建的.project和.classpath等隐藏文件来解决这个问题。 然后关闭项目并导入项目新的。

我花了2天时间来解决这个问题。但是这个有效!

答案 2 :(得分:0)

您可以通过在 META-INF / MANIFEST 文件中提供Main-Class来使JAR可执行。您需要确保将所有依赖项打包到JAR文件中,或者使用“超级jar”样式解决方案。

请参阅:

答案 3 :(得分:0)

您正在创建的JAR文件中是否还有其他JAR /库?我

尝试通过普通的JAR向导并通过向导添加mian类。希望它能奏效。

答案 4 :(得分:0)

我得到了

Exception in thread "main" java.lang.NoClassDefFoundError: org/pmw/tinylog/writers/Writer
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
Caused by: java.lang.ClassNotFoundException: org.pmw.tinylog.writers.Writer
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more

解决方案是右键单击eclipse中的项目,转到“属性”,然后转到“Java构建路径”,然后转到“订购和导出”,并启用项目和外部依赖项(如果已禁用)。然后导出runnable jar,它应该包含任何外部库(你可以验证这个,因为它有更大的大小)。

答案 5 :(得分:0)

我有相同的错误消息,但在不同的情况下,在多模块maven项目中创建一个可运行的模块jar。

解决方案是右击项目> Maven>更新项目>选择所有模块,然后按OK。这将刷新eclipse依赖项,以便它匹配maven依赖项。