Eu consertei o problema do OP por meio de uma sessão do TeamViewer, uma variável de ambiente herdada M2_HOME
estava impedindo que o maven fosse inicializado corretamente.
Estou tentando obter o código a seguir para ser executado no Windows 7.
Não consigo que mvn
reconheça JAVA_HOME
e não consiga que mvn
apareça como um comando no prompt de comando.
Eu recebo o seguinte erro ao tentar executar "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.
Eu tentei o seguinte.
C:\Program Files\Java\jdk1.7.0_55\bin
e C:\Program Files\Java\jdk1.7.0_55
e C:\Program Files\Java\jdk1.7.0_55\bin\
e C:\Program Files\Java\jdk1.7.0_55\
EDIT: Eu gostaria de um script executável que configura o ambiente.
Aqui está um script
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=
Caso você queira evitar alterar permanentemente a variável de ambiente, salve esse arquivo em lote e execute conforme necessário.
@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
Right click "My Computer", Properties, Advanced Settings. Environment Variables.
Novo: JAVA_HOME
Variable Name: JAVE_HOME
Variable Value: C:\Program Files\Java\jdk1.8.0_60
Aqui está uma lista de programas para os quais eu defini caminhos.
Além disso, defina a variável de ambiente ' caminho ' para cada uma que se aplique a você:
C:\Program Files (x86)\eclipse;
C:\Program Files (x86)\Apache Software Foundation\apache-maven-3.1.1\apache-maven\src\bin;
%JAVA_HOME%\bin;
%M2%;
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%;
Adicionado: 05 de agosto de 2016
Avariávelmvné:C:\ArquivosdeProgramas(x86)\ApacheSoftwareFoundation\apache-maven-3.1.1\bin
NOTA:Avariávelmvnéadicionadaàsvariáveisdeambiente,mastambémNOTAqueavariáveléadicionadaaocaminhocomo"% mvn%". Adicionar% mvn% ao caminho permite que mvn seja chamado em um comando LINE de texto com argumentos.
Um script , com instruções detalhadas que devem ser seguidas, para definir Variáveis de ambiente e seus respectivos 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
Uma prévia de onde meu Apache Maven pessoal ( Apache Software Foundation ) mora; meu PATH :
Testesuavariável%mvn%:deveabrirodiretóriocomoaimagemacima.
Parece que você está apontando para o JRE (Java Runtime Environment), em vez do JDK (Java Development Kit), como seria necessário para que o Maven funcionasse corretamente (consulte esta postagem SO para obter informações sobre a diferença entre os dois ).
Você precisará definir a variável de ambiente JAVA_HOME
para esta pasta:
C:\Program Files\Java\jdk1.7.0_55\
Ou semelhante, dependendo da sua versão do JDK que você instalou. Se você não tiver o JDK instalado, poderá baixá-lo no site da Oracle .
Trecho da sua mensagem de erro:
JAVA_HOME = "C:\Program Files\Java\jre1.8.0_91"
enquanto a variável de ambiente JAVA_HOME deve apontar para o JDK. Você pode alterar as variáveis de ambiente da seguinte forma:
Run
. control sysdm.cpl
e pressione Enter
Advanced
na janela System Properties
. System Variables
, pressione o botão Novo . Variable Name
inserir JAVA_HOME
e para Variable value
enter C:\Program Files\Java\jdk1.7.0_55
Agora o Maven deve funcionar corretamente.