2016-08-31 3 views
1

Wenn ich laufe:Process nicht in der Lage Kotlin im Weg zu finden

new ProcessBuilder("kotlinc", "-help").start(); 

ich den Fehler: Kann nicht Programm "kotlinc" auszuführen: Create error = 2, kann das System die Datei nicht finden angegeben

ich habe versucht:

  • Wenn ich aus den Fenstern meinen Pfad zu überprüfen, enthält es C:\Apps\kotlinc\bin, und wenn ich Explorer an dieser Stelle öffnen, gibt es eine Datei mit dem Namen kotlinc.

  • Wenn ich cmd.exe überall öffnen und kotlinc ausführen, funktioniert es ganz gut.

  • Wenn ich meine Umgebung ausdrucken:

    System.out.print(new ProcessBuilder("kotlinc", "-help").environment().get("Path"));

    es enthält C:\Apps\kotlinc\bin

  • Wenn ich new ProcessBuilder("python3", "file.py").start() laufen, es funktioniert gut.

  • Neustarten meine Maschine

kotlinc Ändern der vollständigen Dateipfad zu verwenden ist nicht eine akzeptable Lösung, da diese auf mehreren Computern und Plattformen ausgeführt wird.

Soweit ich sagen kann, ist alles richtig eingerichtet.

Warum kann ich kotlinc von ProcessBuilder nicht ausführen?

+0

Haben Sie versucht, eclipse mit sauberen 'eclipse -clean' zu starten, könnte eclipse lesen Umgebungsvariablen aus dem Cache – Saravana

+0

Können Sie nur Hilfe' kotlinc -help' drucken, nur um zu beweisen, dass dies kein Problem mit file.kt ist? – IRus

+0

Noch eine Sache zu prüfen: siehe die Ausführungsberechtigungen für 'Kotlinc' im Dateisystem. – hotkey

Antwort

3

kotlinc ist eigentlich eine Batch-Datei (kotlinc.bat), keine binäre Datei. Daher müssen Sie es starten, indem Sie den Befehl cmd /c kotlinc ausführen.

+0

Das war es. Vielen Dank! Funktioniert 'cmd/c kotlinc' auf allen Plattformen? –

Verwandte Themen