2016-08-31 1 views
1

Когда я бегу:ProcessBuilder не смог найти Котлин в пути

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

Я получаю сообщение об ошибке: Не удается запустить программу «kotlinc»: CreateProcess ошибка = 2, система не может найти указанный файл

Я пробовал:

  • Если я проверить мой путь из окна, он содержит C:\Apps\kotlinc\bin, и когда я открываю проводник в этом месте, есть файл с именем kotlinc.

  • Если я открою cmd.exe в любом месте и запустил kotlinc, он работает нормально.

  • Если я распечатать мое окружение:

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

    он содержит C:\Apps\kotlinc\bin

  • Если я бегу new ProcessBuilder("python3", "file.py").start(), он работает просто отлично.

  • Rebooting моя машина

Изменение kotlinc использовать полный путь к файлу является не приемлемым решением, так как это в настоящее время работают на нескольких компьютерах и платформах.

Насколько я могу судить, все настроено правильно.

Почему я не могу запустить kotlinc от ProcessBuilder?

+0

Вы пытались запустить затмение с помощью чистого 'eclipse -clean', могут быть переменными среды чтения eclipse из кеша – Saravana

+0

Можете ли вы просто распечатать help' kotlinc -help', чтобы доказать, что это не проблема с file.kt? – IRus

+0

Еще одна вещь для проверки: см. Разрешения на выполнение для 'kotlinc' в файловой системе. – hotkey

ответ

3

kotlinc на самом деле пакетный файл (kotlinc.bat), а не двоичный файл. Поэтому вам нужно запустить его, выполнив команду cmd /c kotlinc.

+0

Вот и все. Спасибо! Будет ли 'cmd/c kotlinc' работать на всех платформах? –