Я пытаюсь получить следующий код для запуска на Windows 7.

Я не могу заставить mvn распознавать JAVA_HOME и не могу заставить mvn появляться как команда в командной строке.

Я получаю следующую ошибку при попытке запустить "C:\Users\a\Downloads\apache-maven-3.3.9-bin (2)\apache-maven-3.3.9\bin\mvn"

Error: JAVA_HOME is set to an invalid directory.
JAVA_HOME = "C:\Program Files\Java\jre1.8.0_91"
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

Я попробовал следующее. C:\Program Files\Java\jdk1.7.0_55\bin и C:\Program Files\Java\jdk1.7.0_55 и C:\Program Files\Java\jdk1.7.0_55\bin\ and C:\Program Files\Java\jdk1.7.0_55\

РЕДАКТИРОВАТЬ: Я хотел бы запустить сценарий, который устанавливает среду.

Вот скрипт

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79
set MAVEN_HOME=C:\Users\a\Downloads\apache-maven-3.3.9-bin (1)\apache-maven-3.3.9
set path=%MAVEN_HOME%\bin;%JAVA_HOME%\bin;%PATH%
set M2_HOME=

5 ответов5

1

Щелкните правой кнопкой мыши "Мой компьютер", Свойства, Расширенные настройки. Переменные среды

Новый: JAVA_HOME

Имя переменной: JAVE_HOME
Значение переменной: C:\Program Files\Java\jdk1.8.0_60

Вот список программ, к которым я установил пути.
Также установите переменную среды ' path ' для каждого, который относится к вам:

C:\Program Files (x86)\eclipse;

C:\Program Files (x86)\Apache Software Foundation\apache-maven-3.1.1\apache-maven\src\bin;

% JAVA_HOME%\ Bin;

% М2%;

C:\Program Files (x86)\Apache Software Foundation\apache-maven-3.1.1\bin;

C:\Program Files\ Java\ jdk1.8.0_60;

C:\Program Files\ Java\ jdk1.8.0_60\ jre\ lib;

C:\Program Files\ Java\ jdk1.8.0_60\ jre\bin;

C:\Program Files\ Java\ jdk1.8.0_60\bin;

% MVN%;

Убедитесь, что вы « сбросили свои файлы » в нужном месте.


Добавлено: 5 августа 2016 г. C:\Program Files (x86)\Apache Software Foundation\apache-maven-3.1.1\bin

Переменная mvn: C:\Program Files (x86)\Apache Software Foundation\apache-maven-3.1.1\bin

ПРИМЕЧАНИЕ. Переменная mvn добавляется к переменным среды, но также следует учитывать, что переменная добавляется в путь как «% mvn%». Добавление% mvn% к пути позволяет вызывать mvn в команде LINE текста с аргументами.


Скрипт с подробными инструкциями, которые необходимо соблюдать, чтобы установить переменные среды и их соответствующие PATH .

::Paste this text into notepad
::Save as "myEnvironSetup.bat"; the ending must be .bat
::Right-Click this batch file you just saved, and Create Shortcut.
::Right-Click the shortcut you just created to elevate it: 
:: --- Right-Click, Shortcut Tab - Properties, Advanced, check box "Run as Admin"
::This modifier on the shortcut must be done in order to execute the "setx" command.


::RUN the SHORTCUT by double-clicking. Your system will prompt you, 
:: -- via User Account Control, to elevate the batch file. Accept.

::Your paths as you stated them - example directories
::C:\Program Files\Java\jdk1.8.0_60\bin
::C:\Program Files (x86)\Apache Software Foundation\apache-maven-3.1.1

::Warning of elevated command prompt
echo This script must have been run from an elevated command prompt, created by a shortcut. If you did not create a shortcut and elevate it described in the instructions in this file, then do so now and re-run the shortcut to this batch file as Admin.

pause


::Set Directories HERE!

set "javadir=C:\Program Files\Java\jdk1.8.0_60"
set "mavendir=C:\Program Files (x86)\Apache Software Foundation\apache-maven-3.1.1"


echo You should have manually set the paths by now in the batch file!
echo Your set path for JAVA_HOME is: %javadir%, cancel now if incorrect!
pause
echo Your path for Apache_Maven is: %mavendir%, cancel now if incorrect!
pause


echo working...



::hard code REM setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_60"

::Setting Environmental Variables here

setx JAVA_HOME %javadir%
setx JRE_HOME %javadir%\jre\bin
setx M2 %M2_HOME%\bin
setx M2_HOME %mavendir%
setx mvn %mavendir%\bin
setx MAVEN_OPTS "-Xms256m -Xmx512m"

::PATH setting

set PATH=%mavendir%\bin;"%PATH%
set PATH=%javadir%;"%PATH%
set PATH=%javadir%\jre\lib;"%PATH%
set PATH=%javadir%\jre\bin;"%PATH%
set PATH=%javadir%\bin;"%PATH%
set PATH=%mvn%;%PATH%
set PATH=%M2%;%PATH%



echo All Done.
pause

Предварительный просмотр того, где живет мой личный Apache Maven (Apache Software Foundation); мой ПУТЬ:

Проверьте переменную% mvn%: откройте каталог, как показано на рисунке выше.

1

Я исправил проблему OP через сеанс TeamViewer, оказалось, что устаревшая переменная окружения M2_HOME препятствовала правильной инициализации maven.

1

Если вы хотите избежать постоянного изменения переменной среды, сохраните этот командный файл и запустите при необходимости.

@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_91
set MAVEN_HOME=C:\tools\apache-maven-3.3.9
set path=%MAVEN_HOME%\bin;%JAVA_HOME%\bin;%PATH%
cmd
0

Похоже, что вы указываете его на JRE (Java Runtime Environment) вместо JDK (Java Development Kit), как вам понадобится, чтобы заставить Maven работать должным образом (см. Этот пост SO для получения информации о разнице между два).

Вам нужно будет установить переменную среды JAVA_HOME в эту папку:

C:\Program Files\Java\jdk1.7.0_55\

Или подобное в зависимости от вашей версии JDK, который вы установили. Если у вас не установлен JDK, вы можете загрузить его с веб-сайта Oracle.

0

Выдержка из вашего сообщения об ошибке:

JAVA_HOME = "C:\Program Files\Java\jre1.8.0_91"

тогда как переменная окружения JAVA_HOME должна указывать на JDK. Вы можете изменить переменные среды следующим образом:

  • Нажмите клавишу Windows R, чтобы открыть окно « Run .
  • Введите команду control sysdm.cpl и нажмите Enter
  • Перейдите к пункту « Advanced в окне « System Properties .
  • Выберите опцию Переменные среды в нижней части окна.
  • Под списком System Variables ударил кнопку Новый.
  • В качестве имени Variable Name введите JAVA_HOME а в качестве Variable value введите C:\Program Files\Java\jdk1.7.0_55

Теперь Maven должен работать правильно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .