Подтвердить что ты не робот

Как я могу установить PATH Cygwin для поиска javac?

У меня есть система Windows 7, на которой я установил последний компилятор Java. У меня также есть новейший Cygwin. Я хочу использовать компилятор Java из оболочки Cygwin. Я редактировал переменную PATH в Cygwin следующим образом:

export PATH=$PATH:"/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/"

Я вижу двоичный файл javac в приведенном выше каталоге, однако, когда я пытаюсь скомпилировать мой *.java файл, я получаю:

javac command not found

Я делаю что-то неправильно в настройке переменной PATH так? Нужно ли мне что-то делать? Я новичок в Java и не очень знаком с cygwin.

4b9b3361

Ответ 1

когда вы пишете его с помощью двойных кавычек, вам не нужно выделять пробелы с помощью \

export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/"

Конечно, это также работает:

export PATH=$PATH:/cygdrive/C/Program\ Files/Java/jdk1.6.0_23/bin/

Ответ 2

Java файлы могут находиться в разделе "Program Files" или "Program Files (x86)": эти пробелы, скорее всего, повлияют на поведение.

Чтобы правильно настроить env-переменные, я предлагаю собрать некоторую информацию перед запуском:

  • Откройте оболочку DOS (введите cmd в поле "RUN" ), перейдите к C:\
  • введите "dir/x" и обратите внимание на имена DOS (с ~) для папок "Program Files *".

Конфигурация Cygwin:

перейдите в раздел C:\cygwin\home \, затем откройте файл .bash_profile и добавьте следующие две строки (удобно настроить для соответствия фактическому пути JDK)

export JAVA_HOME="/cygdrive/c/PROGRA~1/Java/jdk1.8.0_65"
export PATH="$JAVA_HOME/bin:$PATH"

Теперь из запуска Cygwin

javac -version

чтобы проверить успешность конфигурации.

Ответ 3

Если вы все еще находите, что вместо вашей домашней директории Java используется неправильная версия Java (1.7) по умолчанию, все, что вам нужно сделать, это просто изменить порядок вашей переменной PATH, чтобы установить JAVA_HOME\bin перед вашей Windows каталог в переменной PATH, сохраните его и перезапустите cygwin. Протестируйте его, чтобы убедиться, что все будет работать нормально. Он не должен иметь никакого неблагоприятного эффекта, потому что вы хотите, чтобы ваша собственная версия Java переопределяла значение по умолчанию, которое поставляется с Windows. Удачи!

Ответ 4

Чтобы повысить значимость полезного комментария от @johanvdw:

Если вы хотите, чтобы ваш путь к файлу javac всегда знал о запуске cygwin, вы можете отредактировать свой файл .bash_profile. В этом примере вы добавили бы export PATH=$PATH:"/cygdrive/C/Program Files/Java/jdk1.6.0_23/bin/" где-нибудь в файл.

Когда Cygwin запустится, он будет искать каталоги в PATH, а другой - для исполняемых файлов.