# [Eclipse] Ausführbare Jar-Datei - Eingabeaufforderung



## Moch (7. Jun 2011)

Hallo,
Im Rahmen unseres Studien-Programmier-Projekts (über mehrere Trimester), sollen wir gerade ein Programm schreiben, dass vom Desktop aus gestartet wird und anschließend über die Eingabeaufforderung zu steuern sein soll (via Textbefehle (NICHT die Befehle der Eingabeaufforderung selbst)).
In meiner Kleingruppe wurde mir die Aufgabe übertragen, die main-Methode zu schreiben. Prinzipiell ist das kein großes Problem, dass ich überwiegend mit Methoden-Aufrufen auskomme. Allerdings habe ich ein Problem damit, die ausführbare Datei zu erstellen.

Vom Prinzip her, weiß ich, dass ich unter Eclipse eine ausführbare Jar-Datei sehr einfach über File -> Export usw. erzeuge. Dabei kann ich auch eine ausführbare Jar erzeugen, jedoch kann ich das Ding auch nur anklicken und es passiert nichts weiter.
Natürlich: Ich habe dem Programm ja auch nirgendwo gesagt, dass es die cmd.exe als I/O nutzen soll.
Dummerweise konnte ich nichts weiter finden, dass mir erklärt, wie und wo ich das ganze einstellen kann -.-

Deshalb wollte ich mal anhand des einfachen "Hello World-Programms" nachfragen, wie ich das machen kann. Wie kann ich hierbei eine ausführbare Jar-Datei erstellen, die per Doppelklick die cmd.exe öffnet und z.B. "Hello World" ausgibt?

Muss ich das im Quellcode selbst festlegen oder gibt es irgendwie eine Option beim Erstellen, die das ermöglicht?

lieben Gruß
Moch


----------



## Wildcard (7. Jun 2011)

So ist das nicht gedacht. Eine ausführbare jar ohne grafische Oberfläche führt man von der Konsole aus, nicht per Doppelklick. Wenn du magst kannst du ein Shell script oder eine Windows batch Datei beilegen die das jar startet. Dieses Script öffnet dann per Doppelklick eine Konsole.


----------



## Moch (7. Jun 2011)

Danke für den Tipp.
Werde mich gleich morgen...korrigiere heute (irgendwie bringt das Studium immer meinen Tag-Nacht-Rhytmus durcheinander -.-) darum kümmern zu erfahren, wie ich eine entsprechende Batch-Datei erstelle und das zu bewerkstelligen. =)

lieben Gruß
Moch


----------



## Gast2 (7. Jun 2011)

Du erstellst einfach eine bat Datei in der der Befehl zum starten deines Programmes steht (analog zur Windows konsole), z.b.:


			
				start.bat hat gesagt.:
			
		

> java -jar meineJar.jar


----------



## thorstennn (7. Jun 2011)

Scanner oder BufferedReader auf System.in ???

Wenn windows richtig konfiguriert ist, öffnet sich auch ohne bat die cmd.exe

@OT: TagNachtUmkehr ist ungesund


----------



## Gast2 (7. Jun 2011)

jar dateien wurden bei mir (win7) standardmäßig von java gestartet (und damit ohne windows-konsole).
Auch unter Ubuntu werden jars von java gestartet.


----------



## Moch (7. Jun 2011)

Vielen Dank nochmal für die Antwort =)
Ich habe das Problem nun über die Batch-Datei gelöst bekommen. 
Zumindest der Windows-Teil funktioniert damit so, wie wir möchten 
Morgen werde ich es für mein Ubuntu umsetzen (nutze die 10.04) - das ist aber mehr "just 4 fun", weil unsere Aufgabenstellung nur für Windows fordert. Da ich aber kürzlich (na ja, ein bisschen ist's schon her^^) umgestiegen bin, will ich meine Experimente auch mal dorthin ausweiten, da ich früher oder später eigentlich von MS weg wollte.


Jaa, die Sache mit dem Tag-Nacht-Zeugs^^ - Ich weiß auch nicht warum, aber ich kann irgendwie Nachts besser arbeiten -.- (vielleicht, weil da weniger Leute stören^^)


----------



## Gast2 (7. Jun 2011)

Unter Ubuntu lieferst du dann statt der bat-datei einfach ne sh-datei mit, der befehl sollte identisch sein


----------



## Wildcard (7. Jun 2011)

EikeB hat gesagt.:


> Unter Ubuntu lieferst du dann statt der bat-datei einfach ne sh-datei mit, der befehl sollte identisch sein



Die Datei muss auch nicht .sh heißen, die Endung ist völlig egal. Wichtig ist nur das du das Executable Bit setzt


----------

