Programmstart aus Kommandozeile funktioniert nicht.

  • Themenstarter Themenstarter Term
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
T

Term

Gast
Hallo,

ich habe folgendes Problem. Wenn ich mein Prog aus meiner Entwicklungsumgebung starte ist alles kein Problem. Wenn ich aber das programm aus der Kommandozeile starten möchte, gibt es immer einen noClassDefFroundError und dahinter steht (wrong name:testprogramm/Testklasse). Es liegt nicht am CLASSPATH, der ist gesetzt und die Fehlermeldung ist ja auch eine andere, als wenn er die Klasse gar nicht findet....
Hier nochmal die ganze Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError: Testklasse (wrong nam
e: testprogramm/Testklasse)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Habs auch schon mit dem billigsten helloWorld Programm versucht. Gleiches Problem...

Thx schonmal,

Term
 
wie startest du das Programm?

Genauer Befehl und deinen Classpath!

Desweiteren startest du ein Jar Datei oder .class und hast du packages?
 
Kann es sein dass das ein package ist?

Stehe am Anfang von den Java Dateien irgendwas mit package?

Prob mal

java testprogramm.Testklasse


Denn die Exception deutet irgendwie drauf hin das er entweder ein package sucht und keines findet oder eines hat und du keines angibst!
 
wichtig ist dann wohl auch dass der Classpath auf
CLASSPATH = d:\XXXXXX\Testprogramm zeigt, oder?

auf das Grundverzeichnis des Projektes, die einzelnen packages werden dann von selbst gefunden
 
Jo, mit dem classpath hats sowieso irgendwas...


Warum gibts nach dem Ordner classes wieder einen Ordner?!

Packages jetzt oder nicht?

Und wenn man packages hat, muss man diese auch beim Starten sagen


also java package.bla.main

als Bsp

java main

würde net gehen, auch wenn die classes im classpath wären!
 
Ok thx, habs im Stress total verpeilt, dass ich ja packages nutze...
Werd jetzt mal den Classpath anpassen und den aufruf und dann ist hoffentlich alles im lack.
 
So. Ich hab den Classpath jetzt auf das Verzeichnis D:\XXX\Testprogramme\classes gesetzt. Das funktioniert mit dem Aufruf java testprogramm.Testklasse. Und es funktioniert nur genau dann. Bei D:\XXX\Testprogramme hat er auch gemeckert. Die Verzeichnisstruktur hat übrigens der JBuilder so angelegt...
 
Der Jbuilder ist dein Freund (nutze ihn auch)

Das passt schon so, weil der Ordner class ein leerer Ordner ist wo dann erst wirklich die richtigen Ordner (packages) kommen!

Thats the point!

Dachte mir schon am Anfang das es ein JBuilder generierter code ist.


Finde diese Aufteilung eigentlich auch praktisch, weil was haben die .class Dateien im gleichen Order zum tun wo die .java Dateien sind...

Ich sag sogar das der Source im ordner src sein soll

habe dann das

src
bak
classes

Viel besser als wenn alles übereinander geschachtelt wird..
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben