![](/img/trans.png)
[英]SciTE: ClassNotFoundException in Java when using a newly added library (but not in command prompt)
[英]ClassNotFoundException when running in Command Prompt
我是java的新手,並試圖運行一個簡單的計算量的代碼。 代碼如下:
package chapter6;
class Box {
double width;
double height;
double depth;
}
package chapter6;
public class BoxDemo {
public static void main(String[] args) {
Box myBox = new Box();
double vol;
myBox.depth = 1;
myBox.height = 2;
myBox.width = 3;
vol = myBox.depth * myBox.height * myBox.width ;
System.out.println("Volume: " + vol);
}
}
我能夠從eclipse運行代碼,但是當我嘗試在命令提示符下運行代碼時,我得到錯誤:
C:\Prabhjot\Java\CompleteRefence\build\classes>java BoxDemo.class
Exception in thread "main" java.lang.NoClassDefFoundError: BoxDemo/class
Caused by: java.lang.ClassNotFoundException: BoxDemo.class
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:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: BoxDemo.class. Program will exit.
請協助。
第一類文件應該在這個位置:
C:\Prabhjot\Java\CompleteRefence\build\classes\chapter6\BoxDemo.class
然后你應該在里面:
C:\Prabhjot\Java\CompleteRefence\build\classes>
然后發出命令:
java chapter6.BoxDemo
您已將您的類放在名為chapter6
的包中。 這意味着java文件應該位於項目的類根文件夾中名為chapter6
的文件夾中。 當你運行它時,你應該在根文件夾中並使用命令java chapter6.BoxDemo
嘗試這個
C:\Prabhjot\Java\CompleteRefence\build\classes>java chapter6.BoxDemo (RUN)
運行時不需要為文件指定.class消光。編譯java文件后,它將創建.class文件。
當您調用BoxDemo.class
,Java會在BoxDemo
包中查找一個名為class
, BoxDemo
不存在。 從輸出java.lang.NoClassDefFoundError: BoxDemo/class
可以看出,它正在搜索BoxDemo
目錄。
相反,只需指定類名: BoxDemo
; 例如java BoxDemo
。
從控制台運行程序的方式有誤。
你在做
java BoxDemo.class
但你只需要這樣做
java BoxDemo
在運行程序時,您不需要提及帶有名稱的.class 。
如果您從根文件夾訪問它,那么您需要這樣做
java chapter6.BoxDemo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.