Exception in thread "main" java.lang.NoClassDefFoundError: PrimList (wrong name: listprim/PrimList)



  • Hallo,

    ich will eine Implementierung einer doppeltverketteten Liste, geschrieben von meine Info-Lehrer benutzten. Sie besteht aus zwei Klassen List.java und ListElement.java. Der Code funktioniert habe ich selber in der Schule an anderen Sachen getestet. Jetzt hab ich den Code kopiert und "package Zeile" durch das ersetzt:

    package listprim;
    

    So beginnt auch meine dritte Klasse in der die Liste zu Anwendung kommen sollte:

    package listprim;
    
    public class PrimList {
    
    	public static void main (String argcs[]) {
    
    		System.out.println ("Come on!");
    
    	}
    
    }
    

    Das war zunächst nur ein Test. Ich hab zur Übersetzung eine Makedatei benutzt:

    JC = javac
    JI = java
    SOURCE = List.java ListElement.java PrimList.java
    CLASS = $(SOURCE:.java=.class)
    EXE = PrimList
    
    all: $(EXE) $(CLASS)
    
    $(CLASS): $(SOURCE)
    			$(JC) $(SOURCE)
    
    $(EXE): $(CLASS)
    			 echo "$(JI) $(EXE)" > $(EXE); chmod a+x $(EXE)
    
    clean:
    			rm $(EXE) $(CLASS)
    

    Leider bekomme ich beim ausführen meiner Datei ./PrimList folgenden Fehler:

    Exception in thread "main" java.lang.NoClassDefFoundError: PrimList (wrong name: listprim/PrimList)
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClass(ClassLoader.java:638)
    	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:143)
    	at java.net.URLClassLoader.defineClass(URLClassLoader.java:281)
    	at java.net.URLClassLoader.access$000(URLClassLoader.java:74)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:216)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:209)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:324)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:269)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:337)
    Error: Could not find the main class.
    Error: A JNI error has occurred, please check your installation and try again
    

    Ich hoffe ihr könnt mir helfen. Ich kann mir daraus gar keinen Reim machen.

    Vielen Dank!

    Joachim



  • Im Basisverzeichnis: java listprim.PrimList



  • tfa schrieb:

    Im Basisverzeichnis: java listprim.PrimList

    Danke! Warum ist das so?



  • Weil du immer den vollständigen package-Namen der Klasse angeben musst


Log in to reply