我正在使用 Eclipse,并且我有一个非常简单的项目,我会为您保存代码。它执行得很好并且运行得很好。它有两个.java文件,其实项目树是这样的:
**mewLog**
- src/ (dir)
mewlog/ (package)
- MLGlobal.java
- MLMain.java (surprise, this one contains main and some initialization methods)
mlGUI/ (package)
- this one is empty (empty package!)
因此,我转到"file"->“导出”。我像往常一样按照这些步骤进行操作,它使我的 .JAR 文件运行良好,没有任何警告或问题。好!
到目前为止一切都很好,所以我冲到我的终端,导航到我导出 jar 的文件夹,然后按如下方式执行它:
java -jar mewLog_macosx-x86.jar
砰!这里出错了,终端给我以下输出:
Exception in thread "main" java.lang.NoClassDefFoundError: MLMain
Caused by: java.lang.ClassNotFoundException: MLMain
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
好的。在你说“哦,你得添加类路径”之前。我试过了,它不起作用,无论我做什么,都给我“BLAH”。
我使用的是 Mac OS X Snow Leopard。
jar -tf mewLog_MacOSX-x86.jar
的输出
jar -tf mewLog_MacOSX-x86.jar
META-INF/MANIFEST.MF
.project
.classpath
mewlog/MLGlobal.class
mewlog/MLMain.class
最佳答案
做
java -cp mewLog_macosx-x86.jar mewlog.MLMain
工作?
如果是这样,那么 Jar 中的 list 文件指向错误的主类(不考虑包)
关于java - 创建 .JAR 文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4891924/