title image


Smiley Kann man eine Klasse aus einem beliebigem Verzeichnis im Package starten?
Also mal angenommen ich hab die Verzeichnisstruktur:

the/real/hawk/Start.java

und befinde mich im Verzeichnis hawk.



Wenn ich jetzt hier "java Start" aufrufe, bekomme ich die Exception:



Exception in thread "main" java.lang.NoClassDefFoundError: Start (wrong name: th

e/real/hawk/Start)

at java.lang.ClassLoader.defineClass0(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)



Ist ja klar, weil im Classpath nur so aussieht: .



Wenn ich das Programm jetzt nun aber so starte: java -cp ..\..\.. Start

ist ja eigentlich das Wurzelverzeichnis des Package im Classpath und die Klasse sollte gefunden werden.

Wird sie aber nicht. :-/ Statt dessen bekomme ich die Exception:



Exception in thread "main" java.lang.NoClassDefFoundError: Start





Weiss jemand, woran das liegt?

Kennt evtl. auch jemand eine Möglichkeit, wie ich eine Klasse starten kann, unabhängig in welchem Verzeichnis des packages ich bin?



Danke schonmal



Hawk

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: