2011-10-03 52 views
2

我能夠編譯Java程序,但不能當我運行Java程序它提供了以下錯誤運行Java程序

Exception in thread "main" java.lang.NoClassDefFoundError: check 
Caused by: java.lang.ClassNotFoundException: check 
at java.net.URLClassLoader$1.run(URLClassLoader.java:217) 
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: check. Program will exit. 

的源代碼是:

import java.io.*; 
class check { 

    public static void main (String [] args) 
      { 
      System.out.println("Hello"); 
      } 
    } 


+1

當你運行什麼Java程序? –

+1

你在什麼時候運行Java程序? – 2011-10-03 00:08:21

+0

這是什麼問題? – smas

回答

1

你已經設置了CLASSPATH環境變量,它不包括.(點),當前直接ORY。試試這個

java -cp . check 

(這是java空間衝刺cp空間點空間檢查)。

+0

我該如何解決它,classpath不在.bashrc中。在.bashrc也可以出口PATH = $ PATH:〜/ j2sdk1.6.0.18/bin中 – Jack

+0

它可能在'.profile'進行設置,或'的/ etc/profile',或'的/ etc/bashrc',或其他可能的取決於您的系統設置方式。 –

+0

你不修復它。每次都適當地使用-cp。 – bmargulies

0

請先嚐試設置類路徑,然後編譯並執行該類然後您的問題將得到解決。

例如,在命令提示符:現在

C:\> setclasspath=%classpath%;.; 
C:\> javac check.java 
C:\> java check 

,你會得到輸出Hello