JAVA_HOME은 JRE가 아닌 JDK를 가리켜야 합니다.

JAVA_HOME은 JRE가 아닌 JDK를 가리켜야 합니다.

Windows에서는 비슷한 질문에 대한 답변을 보았지만 Linux에서는 많지 않았기 때문에 누구든지 이 문제를 해결하는 데 도움을 줄 수 있다면 좋을 것입니다. 저는 Linux mint 20.2(Uma)를 실행하고 있습니다.

Maven 프로젝트를 실행하는 데 문제가 있습니다. 오류가 발생합니다.

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

Java와 Maven을 완전히 제거하고 JDK17과 JAVA_HOME을 설정했습니다.

$ echo $JAVA_HOME
/usr/lib/jvm/jdk-17.0.2

구성 파일 설정 포함

$ grep JAVA_HOME /etc/profile

JAVA_HOME=/usr/lib/jvm/jdk-17.0.2
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME

and.bashrc

$ grep JAVA_HOME ~/.bashrc

JAVA_HOME=/usr/lib/jvm/jdk-17.0.2
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME

또한 JAVA_HOME을 이전 JDK로 리디렉션하는 maven.sh파일을 찾아서 제거했습니다./etc/profile.d/

그러나 이러한 모든 질문에도 불구하고 무언가가 여전히 JAVA_HOME을 이전 JDK로 리디렉션하고 있는지 또는 올바르게 설정하지 않았는지 알 수 없으며, 무언가가 리디렉션되고 있는지 또는 나는 Linux에 완전히 익숙하지 않기 때문에 별칭을 가지고 mvn있으며 이 시스템을 사용하여 변경 사항을 역추적한 지 꽤 오래되었습니다.

누구든지 이 문제를 해결하는 방법에 대한 아이디어가 있다면 크게 감사하겠습니다. 다들 감사 해요.

답변1

가능한 문제 중 하나는 경로 변수일 수 있습니다. JRE와 JDK bin을 모두 포함합니다. 로 변경하고 PATH=$PATH:JAVA_HOME/binJDK 바이너리만 액세스할 수 있도록 유지하는 것이 좋습니다. 이것은 내 설정이며 아무런 문제가 없었습니다.

도움이 되지 않으면 다운로드하는 것이 좋습니다.오픈JDK, 압축을 풀고 다운로드한 OpenJDK 디렉터리로 경로를 변경합니다.

관련 정보