我無法在linux/ubuntu中運行我的java程序。
我一直在這個問題上工作了一整天,似乎無法找到任何解決方案。 我在Windows 7機器上使用Eclipse編寫了一個小型java程序,它工作得很好。這裏是我的代碼:NoClassDefFoundError在linux/ubuntu中運行java程序時
//start of java program jsonReader
package jsonReader;
//imports needed to run program
import java.io.FileNotFoundException;
import org.codehaus.jackson.map.*;
import org.codehaus.jackson.*;
爲了使進口org.codehause.jackson ..上班,我在我的項目包括手動這個jar文件:傑克遜 - 全1.9.11.jar
//class jsonReader
public class jsonReader {
//start of main
public static void main (String[] args) throws FileNotFoundException {
其餘的這是我的程序,它工作得很好。
我的項目的下一步是在Ubuntu上運行它 - 命令行。我做了導出月食: 文件 - >導出 - >常規 - >存檔文件 - >並創建了一個Zip文件。
這個zip文件被轉移到我的linux/ubuntu環境。從那裏,我解壓縮文件。這是目錄結構:
在主目錄中,我有:
/jsonReader --> has the following directories in it:
-/bin/jsonReader/jsonReader.class
-/lib/jackson-all-1.9.11.jar
-/src/jsonReader/jsonReader.java
-.classpath (file); and a few other files.
在/ jsonReader/src目錄/ jsonReader我運行此命令:javac的jsonReader.java - >我得到這個錯誤:
jsonReader.java:6: package org.codehaus.jackson.map does not exist
import org.codehaus.jackson.map.*;
^
jsonReader.java:7: package org.codehaus.jackson does not exist
import org.codehaus.jackson.*;
^
然後我運行此命令:
javac -classpath /jsonReader/lib/jackson-all-1.9.11.jar jsonReader.java
我沒有得到任何錯誤。該命令在/ src/jsonReader目錄中創建一個jsonReader.class文件。我嘗試使用這個命令來運行該文件:
java jsonReader
我得到這個錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: jsonReader (wrong name: jsonReader/jsonReader)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: jsonReader. Program will exit.
這是我得到的命令行中運行這個當整個錯誤消息。
我不知道爲什麼我得到這個錯誤以及如何解決它。
你好,我試着運行那個命令,但它仍然沒有工作。我從/ jsonReader/src/jsonReader(那裏有一個.class文件)運行它並且我也從/ jsonReader/src目錄運行它。兩人都給了我同樣的錯誤.. NoClassDefFound。 – user2809181
@ user2809181如果'jsonReader.class'在'src/jsonReader'中,即。 'src/jsonReader/jsonReader.class',你應該從'src'運行它。 –
我仍然從src得到相同的錯誤。 =( – user2809181