NoClassDefFoundError beim ausführen einer Klasse

Ich versuche zu laufen eine Klasse, aber ich bekomme die folgende Fehlermeldung:

java.lang.NoClassDefFoundError: MyClass
Caused by: java.lang.ClassNotFoundException: MyClass
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
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)
 Exception in thread "main" 

Passiert es, obwohl die main Methode ist in MyClass und ich laufen direkt in dieser Klasse.
Warum ist diese Klasse nicht gefunden, obwohl ich das Programm starten werden?

Hier einige code:

public class MyClass extends A implements B{
public MyClass() throws Exception {
//make some initializations
}
public static void main(final String[] args) throws Exception {
MyClass myClass = new MyClass();
//do stuff with myClass
}
}

PS: ich bin mit Eclipse Indigo.

BEARBEITEN
Ich habe die Klasse in der Befehlszeile zweimal:

D:\Eclipse JEE\Workspace2\Example\target\classes\com\example\main>java com.example.main.MyClass
Exception in thread "main" java.lang.NoClassDefFoundError: com/example/main/MyClass
Caused by: java.lang.ClassNotFoundException: com.example.main.MyClass
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    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)
Could not find the main class: com.example.main.MyClass.  Program will exit.

D:\Eclipse JEE\Workspace2\Example\target\classes\com\example\main>java GeoDAOImpl
Exception in thread "main" java.lang.NoClassDefFoundError: MyClass(wrong name: com/example/main/MyClass)
    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)
Could not find the main class: MyClass.  Program will exit.
  • Sind die Klasse und der default-Konstruktor public ?
  • Ja, es ist public
  • Bitte zeigen, wie Sie versuchen, den code auszuführen, und ein kurzes, aber vollständiges Beispiel für den code in Frage.
  • bitte haben Sie einen Blick auf, wie das Problem zu beheben, javarevisited.blogspot.com/2011/06/...
  • Die Frage wurde aktualisiert.
  • Sie haben nicht noch gezeigt, wie man läuft es. "Ich Laufe direkt diese Klasse" ist nicht sehr präzise. Was sind A und B hier? Ist deine Klasse wirklich nicht in einem Paket?

InformationsquelleAutor Dragos | 2012-01-20
Schreibe einen Kommentar