WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Java compilieren / ausführen (http://www.wcm.at/forum/showthread.php?t=228644)

athropos 28.05.2008 17:56

Java compilieren / ausführen
 
Hi!

Ich hab folgendes Problem: ich hab ein etwas größeres Projekt in Java geschrieben (Eclipse als Entwicklungsumgebung), und wenn ich es in Eclipse starte, funktioniert es sogar erfreulicherweise so, wie ich mir das vorstelle.

Gut, nun würd ich das Ganze gerne auch ohne Entwicklungsumgebung zum Laufen bringen, doch da spielt Java nicht so mit, wie ich mir das vorstelle.

Nachdem der direkte Export in ein jar-file nicht funktioniert hat, hab ich die Dateien von Hand kompiliert (was mir nach einigen Spielereien mit classpath etc. auch gelungen ist)

Die 2 Meldungen vom Compiler sind iirc (ich bitte mich zu korrigieren, falls ich mich irren sollte) unerheblich:
Code:

Note: Some input files use unchecked or unsafe operations.
Note: recompile with -Xlint:unchecked for details.

So weit, so gut, ich habe nun halt meine classfiles (sollte es mich eigentlich verwundern, daß einige classfiles mehrmals angelegt wurden (mit $1 bis $x))?

Will ich den Classfile (der die Main Method enthält) nun ausführen, bekomme ich folgende Fehlermeldung
Code:

D:\Programme\Java\jre1.6.0_05\bin>java d:\qqe\Main
Exception in thread "main" java.lang.NoClassDefFoundError: d:\qqe\Main
Caused by: java.lang.ClassNotFoundException: d:\qqe\Main
        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)

Originellerweise gibts diese Fehlermeldung auch, wenn ich das Standard "Hello World" laufen lass (da gibts allerdings keine Fehlermeldung beim Kompilieren)

Irgendwelche Ideen, Tips, Tricks wie ich das zum Laufen bringen kann?

thx & lg,
Athropos

xlazarus 29.05.2008 12:17

Oooki.
Also wenn du Eclipse verwendest, dann gugg dir einmal ein wenig ANT an, damit kannst du nach kurzem Überfliegen der Doku ein herrliches ausführbare .jar erstellen.

Anmerkung?: Öhh warum startest du Java aus dem JRE-Verzeichnis?
Wenn ich das richtig sehe, bist du unter Windows unterwegs - also Rechtsklick auf Arbeitsplatz->Eigenschaften->Reiter Erweitert->Umgebungsvariablen und dort in die Path Variable (die bei Systemvariablen) einfach
Code:

;D:\Programme\Java\jre.6.0_05\bin
dranhängen und speichern.
Console neu starten und fertig.
Dann kannst überall java oder javac aufrufen ohne in den Ordner zu wechseln.

Zu dem Fehler bei deiner Ausführung ... sind auch alle benötigten .class Files in dem entsprechenden Ordner oder hast du externe LIBS verwendet, die musst du beim Ausführen natürlich auch angeben ... ich glaube die hängt man mit :PFAD dran.
... die Meldung sagt dir ja, dass eine oder mehrere Klassen deiner main nicht gefunden werden können.

lg
XL

xandl33 29.05.2008 18:59

hi,


ich würd auch mal prüfen, ob eclipse iregendwelche Compileroptions zusätzlich setzt.

xandl33 29.05.2008 19:00

siehe

Note: recompile with -Xlint:unchecked for details.

athropos 30.05.2008 14:33

@xlazarus: danke - über deinen Hinweis bin ich auf ein export-plugin für Eclipse gestoßen, mit welchem das Erstellen von jar-files ein Kinderspiel darstellt (zumindest für meine Zwecke; signierte, verschlüsselte Jars mit erweiterten Manifestdateien hab ich mir noch nicht angeschaut)

@xandl33: diese Meldung kam imho daher, daß ich zB unsigned vectors verwende

lg, Athropos


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag