我想在Mac上运行我的jar文件(还没有在任何其他平台上试过)。当我运行使用Java的罐子MyApp.jar我收到以下错误当运行jar文件时抛出java.lang.NoClassDefFoundError
堆栈跟踪:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at tabalchi.MyLogger.getLogger(MyLogger.java:51)
at tabalchiApp.TabalchiApp.printSystemProps(TabalchiApp.java:117)
at tabalchiApp.TabalchiApp.main(TabalchiApp.java:37)
所以,你可以看到主类是公认的。 这是清单文件。 --->
Manifest-Version: 1.0
Class-Path: . jars/log4j-1.2.16.jar jars/jfugue-4.1.0-20120125.jar jars/gervill.jar jars/AppleJavaExtensions.jar
Main-Class: tabalchiApp.TabalchiApp
SplashScreen-Image: tabalchiApp/resources/splash.png
< --- 而在jar文件如下文件夹结构。 --->
META-INF/MANIFEST.MF
jars/AppleJavaExtensions.jar
jars/gervill.jar
jars/jfugue-4.1.0-20120125.jar
jars/log4j-1.2.16.jar
tabalchiApp/TabalchiApp.class <-- this is the main class
tabalchiApp/otherClasses.....class
< ---
我已阅读有关运行.jar文件很多帖子,但没有解决方案都为我工作。我真的很感谢你对这个的帮助。
我从eclipse中导出来创建jar文件。如果我导出到可运行的jar文件,那么我无法控制清单文件的制作。我需要在清单文件中添加splash图像。而我在运行jar导出时遇到了一些其他问题。因此,这条道路。
您需要将log4j放入您的类路径中 –
使用maven构建可运行jar包。这很简单! – Ilya
你能够从IDE运行你的代码吗? –