2012-04-14 8 views
3

Ich brauche eine Möglichkeit, mit einem externen Tool zu kommunizieren, das über eine Befehlszeilenschnittstelle aus meiner Java-Anwendung verfügt. Gibt es ein praktisches Tool/lib, um es weniger schmerzhaft zu machen? Glaub mir, ich habe genug gegoogelt. Vielen Dank!Gibt es ein Java-Tool für die Kommunikation mit einer externen CLI?

+0

http://stackoverflow.com/questions/2417495/java-cli-ui-design-frameworks-or-libraries. Die Internetsuche nach "Java Shell" wird einige Möglichkeiten bieten. Ein reines CLI für die Einbettung könnte auch aus diesen Projekten extrahiert werden. –

+0

@JoopEggen Ich denke nicht, dass das, was das OP will, er muss mit einem externen CLI-Tool kommunizieren, nicht um ein CLI –

+1

http://stackoverflow.com/questions/3343066/reading-streams-from-java- zu implementieren Laufzeit-exec – cherit

Antwort

0

Ich habe die Prozess-Handler am Ende mit (genauer gesagt, die com.intellij.execution.process.OSProcessHandler) von IntelliJ IDEA Plattform-API + meinen eigenen kleinen Kommando-basierten Rahmen, in dem jeden Befehl knowns schreiben, wie man Ausführen selbst (Schreiben) und Parsen der Antwort von einem Prozess (Lesen).

3

Sie können Runtime.exec() zum Ausführen externer Befehle des Betriebssystems verwenden. Seien Sie sich jedoch dessen bewusst, dass Sie es benutzen - lesen Sie zuerst article.

Wenn das für Ihre Bedürfnisse zu einfach ist, werfen Sie einen Blick auf ProcessBuilder. Es ist verfügbar, da Java 1.5, vom release notes:

Die neue Process Klasse bietet eine bequeme Möglichkeit, Teilprozesse zu berufen als Runtime.exec tut. Insbesondere erleichtert es ProcessBuilder, einen Subprozess mit einer modifizierten Prozessumgebung zu starten (dh einer, die auf der Prozessumgebung der übergeordneten Umgebung basiert, aber mit einigen Änderungen).

+0

Danke, aber ich bin weit hinter 'Runtime.exec()' –

+0

@AlexanderEliseyev Ich aktualisierte meine Antwort mit einer anderen, besseren Alternative –

+0

Ich brauche eine Möglichkeit, ** mit einem Prozess ** kommunizieren, nicht um es zu starten . Ich brauche ein Tool, um die Bearbeitung der Anfragen/Antworten während des Gesprächs mit der externen CLI zu erleichtern. –

Verwandte Themen