"wrong name" JRE Fehler! Häh??
-
Hallo
ich programmiere mit dem JBuilder und kann hieraus meine compilierten Klassen problemlos starten. Jetzt hab ich mal meine compilierten Klassen auf einen anderen Rechner mitbekommen und wollte die class DAteien über die Konsole ausführen. Allerdings bekomme ich folgenden Fehler:
C:\code\agentcities\classes\org\eml\agentcities\hotelservice\gui>java guihotel
Exception in thread "main" java.lang.NoClassDefFoundError: guihotel (wrong name:
org/eml/agentcities/hotelservice/gui/GUIhotel)^was hat das zu bedeuten? Es kann doch nicht dran liegen das er irgendwelche Klassen bzw. jar Dateien nicht findet da in diesem Fall ja eine andere Fehlermeldung ausgegeben würde oder?
-
C:\code\agentcities\classes\org\eml\agentcities\hotelservice\gui>java guihotel
Das ist falsch du musst Java den voll Qualifizierten Klassennamen übergeben, das heisst mit Package. Das ist in dem Fall dann
org.eml.agentcities.hotelservice.gui.GUIhotel
danach muss sich dieses File auch im Classpath befinden. Java tut das aktuelle Verzeichnis automatisch in den Classpath. Also kannst du es so aufrufen:
c:\code\agentcities\classes>java org.eml.agentcities.hotelservice.gui.GUIhotel
Alternativ kannst du den Classpath beim Aufruf natürlich auch angeben
java -cp c:\code\agentcities\classes org.eml.agentcities.hotelservice.gui.GUIhotel
-
Danke!
obwohl ich mir ja sicher war das ich den Aufruf so wie von Dir beschrieben auch schon versucht hatte..
Jetzt funktioniert es auf jeden Fall ! --- fast
und zwar erhalte ich folgenden Fehler: (obwohl ich das Verzeichnis in dem sich XYLayout befindet in den classpath gesetzt habe)
C:\code\agentcities\classes>java org.eml.agentcities.hotelservice.gui.standard.G
UIhotel
Exception in thread "main" java.lang.NoClassDefFoundError: com/borland/jbcl/layo
ut/XYConstraints
at com.borland.jbcl.layout.XYLayout.<clinit>(XYLayout.java:112)
at org.eml.agentcities.hotelservice.gui.standard.GUIhotel.jbInit(GUIhote
l.java:294)
at org.eml.agentcities.hotelservice.gui.standard.GUIhotel.<init>(GUIhote
l.java:60)
at org.eml.agentcities.hotelservice.gui.standard.GUIhotel.main(GUIhotel.
java:934)
-
Du hast das Problem schon erkannt die Klasse com.borland.jbcl.layout.XYLayout findet er (siehe Stack-Trace) aber er kann die Klasse com/borland/jbcl/layo
ut/XYConstraints nicht finden, kontrolliere einmal ob sie im Classpath ist. Also das Verzeichnis in dem sich das Verzeichniss com befindet muss in den ClasspathVerzeichnisstruktur
->foo
->com
-> borland
->jbcl
-> usw.
Hier muss das Verzeichnis foo in den Classpath