我正在使用Eclipse,並且我有一個非常簡單的項目,我將爲您保存代碼。它執行得很好,運行得很好。它有兩個.java文件,實際上,項目樹是這樣的:創建.JAR文件失敗
**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!)
所以,我去文件 - >導出。我按照慣例遵循這些步驟,它使得我的.JAR文件沒有任何警告或問題。好!
到目前爲止好一會說,所以我衝上去給我的終端,導航到我出口我的罐子中的文件夾,如下執行它:
java -jar mewLog_macosx-x86.jar
BAM!這裏出錯了,終端給了我以下輸出:
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
那是不行的,不幸的是在安裝Fatjar的Eclipse插件。 – 2011-02-03 21:32:40
「不工作」是什麼樣子?這是如何不問問題的好例子。閱讀此:http://www.catb.org/~esr/faqs/smart-questions.html – duffymo 2011-02-03 21:46:28
@Jesse:那是因爲它是錯誤的。當在命令行上指定主類時,它應該是-cp而不是-jar – 2011-02-03 21:48:15