[英]Java NoClassDefFoundError in Command Line
嘗試從命令行運行程序時出現NoClassDefError。 它在Netbeans中可以正常工作,並且javac可以正確編譯。
我有一個名為DistributedSystem的類,到目前為止,該類僅應打印“ hello”。 該目錄為src / distributedsystem /,其中包含DistributedSystem.java和編譯后的DistributedSystem.class。
如果我在src / distributedsystem /中並運行
java DistributedSystem
然后我得到
Exception in thread "main" java.lang.NoClassDefFoundError: DistributedSystem (wrong name: distributedsystem/DistributedSystem)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
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:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
如果我在src / distributedsystem /中並運行,我也會得到完全相同的錯誤
java -cp . DistributedSystem
我認為這將解決此問題。 我也嘗試確保沒有在其他地方設置類路徑,即使-cp應該覆蓋它。 任何人都有什么想法可能是錯的嗎?
類路徑應指向基本目錄。 似乎您正在嘗試在程序包distributedsystem
運行類DistributedSystem
,但是您的類路徑設置為project/bin/distributedsystem
而不是project/bin
。
轉到文件夾src,然后從那里編譯,然后運行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.