ich habe ein Problem, dass mich seit einigen Tag herumtreibt und auch nach intensiver Recherche hier im Forum bis jetzt nich lösen lies.
Ich habe ein relativ großes Java-Programm geschrieben, dass mithilfe einer GUI bedient werden kann. Da ich das Java Tool nun jedoch öfters nutze, wäre es praktibaler, anstatt mit der GUI, gleich im CMD zu arbeiten.
Ich stehe jedoch auf dem Schlauch, wie ich mein jetziges Programm anpasse, um es aus dem CMD zu starten. Der Hase im Pfeffer liegt darin, dass ein einfaches starten aus dem CMD nicht ausreicht. Vielmehr müssen im CMD Parameter eingeben und mithilfe dessen dann eine Prozedur ausgeführt werden.
Konkret sollte das so aussehen.
CMD-Fenster:
Start java Parameter 1 Parameter 2 Parameter 3
Nach Ausführung dieser Befehlszeile soll dann das entsprechende Ergebnis (eine Textdatei) in einem entsprechend Verzeichnis erstellt werden.
Wie gehe ich an so eine Sache heran? Hat womöglich jemand einen Tipp für ein Minimalbeispiel? Bis jetzt habe ich mir einfach eine .jar mithilfe von Eclipse erstellen lassen. Damit ist mir jedoch nicht mehr geholfen.
die jar Datei kannst du ganz einfach starten, indem du den java -jar DeineJarDatei.jar in der Konsole eingibst. Parser für die Parameter gibt es, einfach mal nach "java cmd parameter parser" googeln.
Du kannst es auch so machen, dass du die Eingaben von der Konsole ausliest. Du kannst z.B. mit einem java.util.Scanner, der von System.in liest, eine Nutzereingabe von der Konsole auslesen. Das Eingegebene kannst du dann mit einem switch-case verarbeiten.
Java:
importjava.util.Scanner;classTest{publicstaticvoidmain(String[] args){System.out.println("Befehl eingeben:");Scanner scanner =newScanner(System.in);String befehl = scanner.nextLine();switch(befehl){case"befehl1":{// mache etwasbreak;}case"befehl2":{// mache etwas anderes;break;default:{System.err.println("Befehl "+ befehl +" nicht erkannt!");}}
scanner.close();}}
Die 3 Pfade hinter MyTags sollen die Parameter sein.
Ich möchte nun in der Eingabeauforderung von Windows "einfach" sowas eingeben wie:
Start Java C:/Desktop/test.html www.java-forum.de C:/Desktop/test.xml
und dann soll es losrennen und eine Datei auf den Desktop schreiben.
Das ganze als Abfrage zu gestalten frisst bei der Verwendung zu viel Zeit.
Ahhhhhh.... sehr schön. Das klappt super. Vielen Dank!
Allerdings einen hat die Sache noch einen Schönheitsfehler: Die .jar muss ja, wie geschrieben, immer in dem gewählten Ordner liegen. Wo kann ich es unterbringen, dass die .jar in einem festen Verzeichnis liegt? (Bpsw. unter C:\Programme\tool)
Echt toll, wie schnell einem hier geholfen wird. Hut ab!
Eine Batchdatei ist ein guter Ansatz.
Damit kannst du die eigentliche JAR in einen festen Ordner setzen und mit der Batchdatei aufrufen.
Probier mal die hier:
Code:
@echo off
Set /P html=HTML:
Set /P URL=URL:
Set /P XML=XML:
pause
java -jar C:/meinPfad/MeinProgramm.jar %HTML% %URL% %XML%
pause
Schreib das in eine txt-Datei, abspeichern. Danach änderst du die Dateiendung in .bat und startest sie.
Im Kommandofenster wirst du nun zuerst nach der HTML, dann nach der URL und danach nach der XML gefragt.
Nach einem weiteren Tastendruck werden die Parameter automatisch an den Programmaufruf der jar übergeben.