Oracle의 Java Tutorials 의 예제를 모두 시도했습니다 . 둘 다 잘 컴파일되지만 런타임 에이 오류가 발생합니다.
Exception in thread "main" java.lang.NoClassDefFoundError: graphics/shapes/Square
at Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: graphics.shapes.Square
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
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:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Main.java
파일이 잘못된 폴더에 있을 수 있습니다 . 디렉토리 계층 구조는 다음과 같습니다.
graphics
├ Main.java
├ shapes
| ├ Square.java
| ├ Triangle.java
├ linepoint
| ├ Line.java
| ├ Point.java
├ spaceobjects
| ├ Cube.java
| ├ RectPrism.java
그리고 여기 있습니다 Main.java
:
import graphics.shapes.*;
import graphics.linepoint.*
import graphics.spaceobjects.*;
public class Main {
public static void main(String args[]) {
Square s = new Square(2,3,15);
Line l = new Line(1,5,2,3);
Cube c = new Cube(13,32,22);
}
}
내가 여기서 뭘 잘못하고 있니?
최신 정보
Main
클래스를 graphics
패키지 에 넣고 (추가 한 package graphics;
) 클래스 경로를 "_test"(그래픽이 포함 된 폴더)로 설정하고 컴파일 java graphics.Main
한 후 (명령 줄에서) 실행했습니다.
정말 늦게 업데이트 # 2
Eclipse (Notepad ++ 및 JDK)를 사용하지 않았으며 위의 업데이트로 문제가 해결되었습니다. 그러나 이러한 답변 중 많은 것이 Eclipse 및 IntelliJ에 대한 것으로 보이지만 유사한 개념을 가지고 있습니다.
package graphics;
맨 위에 있을 것입니다 ). 가graphics
패키지 구조의 헤드는? 스퀘어가package graphics.shapes
맨 위에 있습니까?