我想在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運行你的代碼嗎? –