Jak rozwiązać java.lang.NoClassDefFoundError?

Wypróbowałem oba przykłady w OracleSamouczki Java. Oba kompilują się dobrze, ale w czasie wykonywania oba te błędy powodują:

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

Myślę, że mogę miećMain.java plik w niewłaściwym folderze. Oto hierarchia katalogów:

graphics
├ Main.java
├ shapes
|   ├ Square.java
|   ├ Triangle.java
├ linepoint
|   ├ Line.java
|   ├ Point.java
├ spaceobjects
|   ├ Cube.java
|   ├ RectPrism.java

I tu jestMain.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);
    }
}

Co ja tu robię źle?

AKTUALIZACJA

Po postawieniuMain klasa dographics pakiet (dodałempackage graphics; do tego), ustaw ścieżkę klasy na „_test” (folder zawierający grafikę), skompiluj ją i uruchomjava graphics.Main (z linii poleceń) zadziałało.

Naprawdę późno UPDATE # 2

Nie korzystałem z Eclipse (tylko Notepad ++ i JDK), a powyższa aktualizacja rozwiązała mój problem. Wydaje się jednak, że wiele z tych odpowiedzi dotyczy Eclipse i IntelliJ, ale mają podobne koncepcje.

questionAnswers(23)

yourAnswerToTheQuestion