我有哪裏我嘗試運行示例應用程序的Hibernate錯誤在運行Java程序:java.lang.NoClassDefFoundError
源文件以下封裝結構:/home/chander/workspace/HibernateApp/src/com/hib/TranslateSQL.java
我的當前目錄:
/home/chander/workspace/HibernateApp/src
編譯: $JAVA_HOME/bin/javac com/hib/*.java
---這成功
跑運行: $JAVA_HOME/bin/java com/hib/TranslateSQL
給予以下異常:
Exception in thread "main" java.lang.NoClassDefFoundError: TranslateSQL (wrong name: com/hib/TranslateSQL)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
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:315)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: TranslateSQL. Program will exit.
我有我的CLASSPATH和JAVA_HOME集。我似乎沒有發現我的命令有什麼問題。
也試過以下命令:
$JAVA_HOME/bin/java com.hib.TranslateSQL
得到了以下異常:
Exception in thread "main" java.lang.NoClassDefFoundError: com/hib/TranslateSQL
Caused by: java.lang.ClassNotFoundException: com.hib.TranslateSQL
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:315)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: com.hib.TranslateSQL. Program will exit.
*不應該*是必需的 - '-cp。'在我的答案中的版本應該已經足夠了,除非CLASSPATH *也包含了你需要的其他東西,在這種情況下,錯誤信息會有所不同。你也不需要進入src/com/hib目錄。 –