簡體   English   中英

java.lang.NoClassDefFoundError:和其他錯誤

[英]java.lang.NoClassDefFoundError: and other error

我在目錄名“ cancelladir”中創建了一個名為“ cancelladir”的文件java,當我在ubuntu外殼中編寫“ javac cancelladir.java”時,它會創建一個cancelladir.class,但是當我嘗試執行文件java時使用命令“ java cancelladir”,會出現如下錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: cancelladir (wrong name: cancelladir/cancelladir)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

我已經在export CLASSPATH=.:/home/lisa/graphhopper/graphhopperAndrea/web/src/main/webapp/cancelladir設置了類路徑,並嘗試重新編譯,但沒有任何變化。 問題是什么?? 我該怎么辦?

編譯代碼后,最終會得到程序中每個類的.class文件。 這些二進制文件是Java解釋為執行程序的字節碼。 NoClassDefFoundError指示負責動態加載類的類加載器找不到您要使用的類的.class文件。 它可能表明您在執行代碼時未設置classpath選項。 該鏈接說明了執行時如何設置類路徑

1)打開一個新的外殼並添加一個新的簡單程序,如下所示。
2)使用javac Hello.java編譯Java代碼
3)使用Java Hello運行代碼
如果您仍有問題,請聯系我們。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM