我有一个项目,我想从中制作一个Runnable Jar。 我有一个在Eclipse中运行的运行配置。 当我尝试导出Runnable Jar时,我为项目使用的每个.jar都会收到此错误: “Fat Jar导出:无法找到”
的类路径条目关于我需要做些什么来实现这项工作?
答案 0 :(得分:3)
我有同样的问题,解决方案相当容易。只需右键单击您的项目,选择属性 - > Java Build Path ,然后打开 Libraries 标签,点击添加外部JAR ,然后选择您需要的所有库(您获得的库)错误消息,在我的例子中是derbyclient.jar),用 OK 确认。然后在Package Explorer中,您将获得引用的库,并且将项目导出到runnable JAR中所需的所有其他库:
由于未知原因,即使您在项目 - >>中正确配置,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依赖项。