簡體   English   中英

命令行中的Java NoClassDefFoundError

[英]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.

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