JAVA_HOME이 올바르게 정의되지 않았습니다


14

Java jdk 핫스팟 1.7을 설치했습니다. 입력하면 다음과 같은 결과 java -version가 나타납니다.

java version "1.7.0" 
Java(TM) SE Runtime Environment (build 1.7.0-b147)

맞습니다.

그리고 maven을 설치하려고 시도하고 /etc/environment파일에 추가했습니다 .

JAVA_HOME=/usr/lib/jvm/jdk1.7.0
M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
MAVEN_HOME=/usr/local/apache-maven/apache-maven-3.0.4
M2=/usr/local/apache-maven/apache-maven-3.0.4/bin

이제 mvn을 입력하면 다음과 같은 결과가 나타납니다.

Error: JAVA_HOME is not defined correctly.   We cannot execute
”/usr/lib/jvm/jdk1.7.0”/bin/java

그러나 JAV_HOME var에 대한 마크를 환경 파일에 넣지 않았습니다.

에서 실행하려고합니다

”/usr/lib/jvm/jdk1.7.0”/bin/java

경로, 실제로는

/usr/lib/jvm/jdk1.7.0/bin/java

내가 명령 할 때

$JAVA_HOME

나는 얻고있다:

bash: ”/usr/lib/jvm/jdk1.7.0”: No such file or directory

경로 ( /usr/lib/jvm/jdk1.7.0)가 올바른지 확신합니다 .


ls -al /usr/lib/jvm'jdk1.7.0'이 디렉토리 이름의 형식인지 확인하고 확인할 수 있습니까 ? Oracle을 사용할 때는 이상한 폴더 이름을 사용하는 경향이 있습니다.
Thomas Ward

ls /usr/lib/jvm/java-7그리고 ls "/usr/lib/jvm/java-7"/bin나에게도 동일한 결과를 산출해야합니다 (비어 있지 않음). 마지막 부분 인 java-7은 수동 수정의 결과이며 약간 다를 수 있습니다. 그러한 폴더가 존재하는지 확인하십시오 (jdk1.7.0).
사용자가 알 수 없음

내가 가지고 total 44 drwxr-xr-x 3 root root 4096 Jun 28 01:57 . drwxr-xr-x 184 root root 36864 Jun 28 01:34 .. drwxr-xr-x 10 root root 4096 Jun 27 23:30 jdk1.7.0 이 실행 한 후 ls -al /usr/lib/jvm 명령을
Kamoliddin

콘솔에서 변수를 보려면 다음을 입력해야합니다 echo $VARNAME.. 방금 수행하면 $VARNAME해당 변수에있는 것을 실행합니다.
Alexis Wilke

답변:


15

JAVA_HOME디렉토리의 이름으로 설정해야합니다 포함bin 디렉토리 포함 (특히, 자바 실행 파일 java자체).

/usr/lib/jvm/jdk1.7.0디렉토리 가 있다고 가정하면 디렉토리에는 관련 실행 파일 jre이 포함 된 bin디렉토리가 포함 된 하위 디렉토리가 포함되어 있을 수 있습니다 java.

당신은 아마 설정해야한다 그래서 JAVA_HOME/usr/lib/jvm/jdk1.7.0/jre보다는 /usr/lib/jvm/jdk1.7.0.


JRE뿐만 아니라 JDK를 설치하면 일반적으로 bin 디렉토리가 포함 된 JDK 디렉토리와 자체적으로 bin 디렉토리가 포함 된 JRE-dir이 생성됩니다. 그러나 JAVA_HOME항상 디렉토리가 아닌 상위 디렉토리로 설정되었습니다 jre.
사용자가 알 수 없음

재미있는 점은 jdk no로 설정해야합니까? Java로 코드를 작성하고 컴파일하고 배포하는 등의 작업을 수행합니다.
Kamoliddin

@Kamoliddin Maven이 다른 개발 바이너리의 $JAVA_HOME위치 javac와 기타 를 알기 위해 사용 하는 경우 에는 해당 바이너리를 포함하는 디렉토리를 포함하는 jdk디렉토리 로 설정해야 bin합니다.
Eliah Kagan 2016 년

감사합니다. 모두 다시 시작한 후에 작동했습니다. 변경 사항을 적용하기 위해 다시 시작할 필요가 없다고 생각합니다. 나는 아무것도 바꾸지 않았다. 효과가있었습니다.
Kamoliddin

그는 전혀 jdk1.7.0를 사용하는 이유는 확실하지 .. /usr/lib/jvm/java모두 충분해야 java하고 javac. 대안이이를 처리합니다
Brian
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.