Как мне установить мой Cygwin PATH для поиска javac? - PullRequest
39 голосов
/ 07 февраля 2011

У меня есть система 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.

Ответы [ 4 ]

65 голосов
/ 07 февраля 2011

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

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/
6 голосов
/ 21 октября 2015

Двоичные файлы 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 голосов
/ 23 июня 2015

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

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

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

2 голосов
/ 08 октября 2014

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

...