我正在尝试在 Mac 上运行我的 jar 文件(尚未在任何其他平台上尝试过)。当我使用 java -jar MyApp.jar 运行时,出现以下错误
堆栈跟踪:
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 文件,那么我无法控制清单文件的制作。我需要在清单文件中添加启动图像。我在可运行的 jar 导出方面遇到了一些其他问题。因此这条路。