1. 程式人生 > >執行錯誤:ClassNotFoundException

執行錯誤:ClassNotFoundException

                異常資訊:C:/java>javac ab.javaC:/java>java abException in thread "main" java.lang.NoClassDefFoundError: abCaused by: java.lang.ClassNotFoundException: ab        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)        at java.security.AccessController.doPrivileged(Native Method)        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)C:/java>原因:  當前目錄並未在CLASSPATH裡面解決方案:  使用C:/java>java -cp . ab就可以了。其中的 -cp . 是java的標準引數,等於 -classpath . 也就是把當前目錄加入CLASSPATH我們看一下java的命令列引數,其中    -cp <class search path of directories and zip/jar files>    -classpath <class search path of directories and zip/jar files>                  A ; separated list of directories, JAR archives,                  and ZIP archives to search for class files.第二種情況,缺少某個jar裡面的類,比如你的程式用到了Spring.jar 則在命令列可以這樣執行c:/java>java -cp.;c:/lib/spring.jar ab如果spring.jar還依賴別的類庫,就繼續在後面書寫完整的jar路徑就行了。在Windows下面用分號分隔,在Linux下面用冒號分割。