[java] Windows에 Maven을 설치할 수 없음 :“JAVA_HOME이 잘못된 디렉토리로 설정되었습니다.”

나는 다음 메이븐 튜토리얼 문자로를하지만, 난 여전히 Maven은 윈도우에 설치되지 수 있습니다.

명령 프롬프트에서 다음을 실행할 때 :

E:\Documents and Settings\zach>mvn --version

나는 얻다:

'mvn' is not recognized as an internal or external command, operable program or batch file.

maven 설치 폴더로 이동하여 실행 mvn --version하여 다음을 얻었습니다.

E:\java resources\apache-maven-2.2.0\bin>mvn --version
ERROR: JAVA_HOME is set to an invalid directory.
JAVA_HOME = "E:\Sun\SDK\jdk\bin"
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation

그러나 내가 달릴 때 나는 java -version얻는다 :

java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode)

그래서 Java가 설치되어 있습니다. 누구 문제가 뭔지 알아?



답변

문제는 경로와 관련이 있습니다.

  1. “E : \ java resources \ apache-maven-2.2.0 \ bin”디렉토리가 명령 검색 경로에 있는지 확인하십시오.

  2. JAVA_HOME 변수가 Java 설치 의 홈 디렉토리 를 참조하는지 확인하십시오 . “E : \ Sun \ SDK \ jdk \ bin”에서 Java를 실행하는 경우 JAVA_HOME 변수는 “E : \ Sun \ SDK \ jdk”를 가리켜 야합니다.

    NB : JAVA_HOME은 “\ bin” 1로 끝나서는 안됩니다 .

  3. JAVA_HOME 변수 2에 세미콜론을 넣지 않았는지 확인하십시오 .

    주의 : JAVA_HOME은 세미콜론으로 구분 된 디렉토리 이름의 “PATH와 유사한”목록이 아닌 단일 디렉토리 이름이어야합니다.

또한 Maven on Windows 지침에서 키 경로 이름의 공백에 대한 이 조언을 무시하면 문제가 발생할 수 있습니다 .

“많은 크로스 플랫폼 도구와 마찬가지로 Maven 은 중요한 경로 이름에 공백 문자가있을 때 문제가 발생할 수 있습니다 .”

“Java SDK를 설치해야합니다 (예 : Oracle의 다운로드 사이트에서) . c : \ j2se1.6과 같이 공백없이 경로 이름에 설치해야 합니다 .” ‘

“Maven 배포판의 압축을 풀어야합니다. 소스 코드 중간에 압축을 풀지 마십시오. 경로에 공백이없는 위치를 선택 하고 압축을 풉니 다.”

이에 대한 간단한 해결책 은 경로에 공백 없도록 Java 또는 Maven을 다른 위치에 다시 설치하는 것 입니다.


1 -…. 설치 위치의 이름에 대해 미친 선택을 하지 않았다면 .

2-Windows 경로 문제에 대한 일반적인 “부두”솔루션은 끝에 세미콜론을 두드리는 것입니다. 일반적으로 권장되지 않으며 여기서는 절대적으로 작동하지 않습니다.


답변

오류 : JAVA_HOME이 잘못된 디렉터리로 설정되었습니다. JAVA_HOME = “E : \ Sun \ SDK \ jdk \ bin”Java 설치 위치와 일치하도록 환경에서 JAVA_HOME 변수를 설정하십시오.

JAVA_HOME로 설정해야합니다 E:\Sun\SDK\jdk.
PATH포함하도록 설정해야합니다 %JAVA_HOME%\bin.


답변

Grails 설치로이 문제가 발생했습니다.

문제는 내 JAVA_HOME 이었고 c:\sun\jdk\PATH%JAVA_HOME%bin

나는 그것을 다음과 같이 변경했다. JAVA_HOME= "c:\sun\jdk" and PATH="%JAVA_HOME%\bin"

그 후에 작동했습니다.


답변

나는 같은 문제에 직면하고 있었고 JAVA_HOME이 나를 위해 일했습니다.

이전에는 다음과 같았습니다. C : \ Program Files \ Java \ jdk1.6.0_45 \ bin 방금 \ bin을 제거하면 저에게 효과적이었습니다.


답변

현재 직장의 보안 제한으로 인해 Windows 기반 PC에서 환경 변수를 설정할 수 없었습니다.

내 해결 방법은 mvn.bat 파일을 % M2 %에서 C : \ WINNT로 복사하고 다음을 배치 파일의 맨 위에 추가하는 것입니다.

@REM Needed as unable to set env variables on my desktop PC.

set MAVEN_OPTS=-Xms256m -Xmx1024m
set M2_HOME=C:\apache-maven-3.0.4
set M2=%M2_HOME%\bin
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_15
set PATH=%JAVA_HOME%\bin;%M2%;%PATH%

가장 좋은 해결책은 아니지만 작동합니다. 누구든지 표준 환경 변수를 시스템에 설정할 수없는 다른 방법이나 해결 방법이 있다면 응답을 환영합니다.


답변

나는 같은 문제가 있었고 위의 답변 중 어느 것도 내 환경 변수가 모두 설정 되었기 때문에 나를 위해 수정하지 않았습니다. 방금 Java를 다시 설치했습니다.

효과가 있었던 것은

  1. 로 이동 C:\path\to\apache-maven-3.0.4\bin하여 mvn.bat파일을 엽니 다 .
  2. 다음과 같은 줄을 찾으십시오. @SET JAVA_HOME=C:\progra~1\java\jdk1.7.0_03
  3. 올바른 경로로 수정

이것이 Windows와 관련된 것인지는 모르겠지만 누군가에게 도움이 될 수 있습니다!


답변

많은 시도가 실패한 후 해결책을 찾았습니다.

“;” JAVA_HOME의 끝에는 항상 설정 한 각 새 변수의 끝에 넣습니다. 그래서 제거;.

JAVA_HOME은 사용자 변수에서도 설정합니다 ( “;”제외).