FORUMARCHIV  
  Jar Datei ausführen   
 
Möchte gern eine ausführbare Jar Datei erstellen. Mein Programm besteht aus einer Klasse. Ich habe die Jar Datei folgendermaßen erzeugt:

Code:                   In Zwischenablage kopieren (nur IE)
1">

die Datei wurde erfolgreich erzeugt. Dann habe ich die Java Dateien .class und. java hinzugefügt:

Code:                   In Zwischenablage kopieren (nur IE)
2">

die Dateien wurden auch hinzugefügt.

Das Problem ist, dass wenn ich die Jar Datei per Doppelklick aufrufe, wird die Datei standardmäßig mit dem Toll javaw geöffnet. Nur passiert nichts auf meinen DK hin? Der Mauszeiger wird kurz zur Sanduhr und dann wieder zum Mauszeiger, aber es passiert nix.
Ich habe die Datei über Eigenschaften mittels "Öffnen mit..." mit der DOS Konsole öffnen lassen, aber da öffnet sich nur die Konsole und das Arbeitsverzeichnis ist das, wo die jar Datei liegt.

Und lasse ich mit java.exe öffnen, erscheint kurz das DOS Fenster mit einer Meldung, die ich aber leider nciht entziffern kann, weil das Fenste sich sofort wieder schließt. Ich glaube aber nicht, dass das meine Ausgabe ist, soviel lässt sich erkennen.


Eigentlich möchte ich, dass die Jar Datei ein DOS Fenster öffnet und das Programm automatisch ausführt. Es sollte dann eine Ausgabe erzeugt werden. Es muss nicht unebdingt das DOS Fenster sein, aber irgendwas wo ich die Ausgabe sehen kann.

Normal rufe ich das Programm über die Konsole so auf und es funktioniert:
Code:                   In Zwischenablage kopieren (nur IE)
3">

Das ist mein erster Versuch mit Jar Dateien. Hier könnt ihr euch meine MF Datei anschauen:

Meine LogfileTool.mf sieht so aus:
Zitat:
Manifest-Version: 1.0
Main-Class: LogfileTool

...und die JAR Datei runterladen und eine Testdatei die das Programm benötigt. Beide im selben Ordner ablegen.
http://www.idee-c.de/test/TrafficTool.jar
http://www.idee-c.de/test/internetlog.txt

> Hier gehts zum Orginal Eintrag

 
  Antworten  
 

1.

Zum Testen probiert man das wohl am besten von der Konsole aus, dort bekommt man auch Fehlermeldungen angezeigt.



2.

wenn ich

java -jar TrafficTool.jar

eingebe, funktioniert das Programm.

Abe ich erkenne nun das erste Wort, wenndas DOS Fenster sich nach dem DK kurz öffnet und wieder schleißt...Exception

Aber wie gesagt, das Programm funktioniert, wenn ich es mit den java Kommandos über die Shell aufrufe. Was für eine Exception könnte das sein? Ich glaube nicht, dass sie in Bezug auf meine Klasse steht, eher allg. mit der Java Umgebung. Aber was weiß ich...



3.

Wird das denn auch mit "javaw -jar TrafficTool.jar" gestartet, oder lediglich mit "javaw TrafficTool.jar"?



4.

Hm...alsooo, folgende Befehle hab ich über die DOS Zeile getestet....

1.
Funktioniert (also bringt korrekte Ausgabe)
java -jar LogfileTool.jar

2.
java LogfileTool.jar
Exception in Thread main java.lang.NoClassDefFoundError: LogfileTool.jar

3.
Bringt eine Error Box.
javaw LogfileTool.jar
Could not find main class. Programm will exit.

4.
Macht scheinbar nichts. Es wird eine neue Kommandozeile erzeugt.
javaw -jar LogfileTool.jar


Interessant ist ja 2. und 3., aber wo liegt da mein Fehler? Evtl. an der Manifest Datei?



5.

Also ich hab jetzt eine kleine grafische Ausgabe meinem Tool spendiert. Also mit JFrame, etc.

Die Ausgabe wird also nicht mehr auf der Kommandozeile ausgegeben, sondern in einem JFrame.

Das ganze funktioniert aber wieder nur, wenn ich das Programm über die Kommandozeile aufrufe, wie vorher eben auch.

Die JAR Datei bringt wieder nur kurz ein DOS Fenster mit der Exception Meldung und schließt sich sofort wieder.

Ich denke es wird die main class nicht gefunden, deswegen wird das Programm nicht ausgeführt über di eJAR Datei.
Stimmt vielleicht was mit meiner Manifest Datei nicht?



6.

Wieso? ich dachte mit java -jar jarfile läufts?



7.

Das Problem ist, dass ich das Programm per Doppelklick zum laufen bringen möchte. Es läuft, wenn ich die JAR Datei über die Konsole manuell aufrufe, aber nicht per Doppelklick.



8.

Und wie wärs dann mit einer Batchdatei7Shellskript, welches den Aufruf mit -jar macht?



9.

Naja, das wäre ein uneleganter Umweg, schließlich gibt es für diesen Zweck ausführbare JAR Dateien, damit man Java Applikationen per Doppelklick starten kann.



10.

Sowas gibts? Meine JAR Spezifikation sagt dazu kein Wort und meint im gegenteil man solls mit -jar starten.



11.

Was heisst sowas gibt? Du kennst JAR Archive? Genau das sind die Dateien, die ein Java Programm per DK ausführbar macht. Man kann JAR Archive auch für Applets benutzen.

Aber es läuft jetzt! Das Problem war jetzt, nachdem ich die Ausgabe mit einer grafischen Oberfläche mache, dass ich die Eigenschaft "Öffnen mit..." der JAR Dateien nicht wider umgestellt habe. JAR Dateien werden standardmäßig mit der JRE geöffnet, es geht auch mit javaw, aber ich hatte java.exe noch eingestellt, von den vorherigen Tests.

Also Fazit:

Problem war:
Meine JAR Datei lies sich nicht per DK ausführen. Mein Programm war so geschrieben, dass es eine Ausgabe auf die Standardausgabe macht. Fehlermeldung war hier:
Exception in Thread main java.lang.NoClassDefFoundError: LogfileTool.jar

Lösung:
Ich habe eine grafische Oberfläche geschrieben und die Ausgabe in ein JLabel geschrieben. Hat man die Standardeinstellung nicht verändert, also JAR Dateien mit jre öffnen bzw. mit dem Tool javaw, dann sollte das Programm per DK starten.



12.

Hm, über dieses Windows staunt der Laie und der Experte wundert sich .. oder so ...



> Weiter Einträge finden Sie in unserem Forum

 

Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.



Webspace mit PHP und MySQL bei phpforum.de!

radiobuttons überprüfen
Probleme mit require
Auswahl des Servers (Performance)
Überprüfung der E-mailadresse im Formular
Variable auslesen!!!
Scirpt laufzeit verlängern
Virus oder nicht Virus...
readdir Verzeichnisse oben, Dateien unten
2 abhängige auswahlboxen
mysql problem!bitte um hilfe
Problem mit Counter
gaestebuch frage
Php Array in Js-array umwandeln
Probleme mit trim () und chop()
Virtualhost / windows / dyndns
Einfache Frage
Links "automatisch" erstellen???
Datenimportschnittstelle CSV/XML gesucht!
Ganz normale PHPSESID
Sicherheitsproblem
$_SESSION['id'][] was ist daran falsch?
ezupload php problem
Fehler im script Bitte um hilfe
formular error auf formular seite ausgeben
ifconfig über Intranetseite ausführen....
sql abfrage aus zwei tabellen
Objekt erwartet
Wann kommt PHP5
Datei in RAR oder ZIP komprimieren und mit Passwort versehen
Ich kapier es nicht! (variablen in Link oder doch nicht?)
mcrypt
array_push ?
Tabellen vergleichen
News & Comments
Dynamisch Thumbnail generieren
Count()
datenbankverbindung dauerhaft aufrechterhalten?
script zum E-mails decodieren?
Suche ein PHP Script
php Mailer --> Smtp Error
mysql link resource problem
Bildwechsel bei onclickevent
Fehlermeldung
Spezielle Datumsfunktion
Probleme mit Arrays in einer Echo ausgabe.
Suche Serverüberwachungsskript
Übergabe von Variabeln an Insert-befehl
funktion readfile() netscape 7.0
htaccess und Rewriteengine
Php + Xml-schnittstelle
Weiter

Webdesign und TYPO3 Agentur - analog multimedia

phpforum.de das deutsche PHP-Forum. Hier finden Sie alles über PHP, PHP3, PHP4, PHP5 MySQL, ASP, JSP,Linux, Apache ...
  phpforum.de