Maven с Cygwin - Ошибка: JAVA_HOME не определен правильно
Я пытаюсь запустить Maven на cygwin. Я добавил maven на путь, и мой Java-дом выглядит следующим образом:
$ echo $JAVA_HOME
/cygdrive/c/Program Files/Java/jdk1.6.0
Но когда я пытаюсь запустить mvn --version
, я получаю следующее:
Error: JAVA_HOME is not defined correctly.
We cannot execute /cygdrive/c/Program Files/Java/jdk1.7.0_01/bin/java
Любая идея, почему она не работает? Java -version работает отлично, поэтому это не проблема с java. Я также попытался использовать jdk1.6.0.
Запуск which java
дает,
$ which java
/cygdrive/c/windows/system32/java
и java -version
дает,
$ java -version
java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Client VM (build 21.1-b02, mixed mode, sharing)
Ответы
Ответ 1
Если бы я запустил mvn.bat
вместо mvn
, у меня не было этой проблемы.
Итак, поскольку Cygwin будет запускать файл mvn, я заменил этот файл mvn на мягкую ссылку (ln -s mvn.bat mvn
) на командный файл. Таким образом, запуск mvn
автоматически запустит mvn.bat
который mvn.bat
эти проблемы.
Ответ 2
Любой, кто использует Cygwin и Maven, здесь именно то, что вам нужно:
В вашей подсказке Cygwin Bash:
$ vim ~/.bashrc
или же:
$ nano ~/.bashrc
(Который когда-либо ты себе представляешь...)
Добавьте следующее:
alias mvn=mvn.bat
Сохранить и выйти. Затем запустите:
$ source ~/.bashrc
Теперь вы сможете использовать команду mvn
как в командной строке cmd.
Ответ 3
Cygwin использует консоль dos для выполнения сборок Maven (mvn.bat
).
Задайте в качестве домашней C:\Program Files\Java\jdk1.7.0_01
расположение C:\Program Files\Java\jdk1.7.0_01
.
Ответ 4
Установка JAVA_HOME
в /cygdrive/c/Progra~1/Java/jdk1.6.0
может помочь.
Ответ 5
Я столкнулся с ошибкой между "mvn" script и shell globbing на cygwin.
Смотрите: ошибка maven при запуске в cygwin?
Ответ 6
Я столкнулся с той же проблемой при запуске Gradle из Cygwin Tool.
Я использовал для установки дома Java, включая папку bin
:
C:\Program Files\Java\jdk1.7.0_67\bin
Но позже я понял, что некоторые приложения не распознают, если вы включили папку bin, поэтому я изменил путь к классу на C:\Program Files\Java\jdk1.7.0_67
и он начал работать.
Ответ 7
Я понял, что в меню Переменные среды, хотя путь JAVA_HOME
появился без точки с запятой (;
) в конце строки, при просмотре на панели текстового редактора он был там. Удаление это исправило все проблемы.