[java] JAVA_HOME 환경 변수가 존재하는 이유는 무엇입니까?
많은 Java 기반 응용 프로그램에서는 JAVA_HOME 환경 변수를 설정해야합니다. 이 변수의 목적은 무엇입니까?
답변
환경 변수 는 드라이브, 경로 또는 파일 이름과 같은 정보를 포함하는 문자열입니다.
JAVA_HOME 환경 변수의 자바 런타임 환경 (JRE)가 컴퓨터에 설치되어있는 디렉토리를 가리 킵니다.
답변
목적은 Java가 설치된 위치를 가리키는 것입니다. $JAVA_HOME/bin/java
자바 런타임을 실행해야합니다.
답변
Java 프로그램을 실행할 때 먼저 JVM을 시작해야합니다. 일반적으로 실행 파일을 실행하여 수행됩니다 . Windows에서는 java.exe 입니다. 예를 들어 전체 경로를 제공하는 등 여러 가지 방법으로 얻을 수 있습니다.
C:\somedir\bin\java.exe
또는 PATH에있을 수 있습니다.
프로그램 인 클래스 파일을 포함하는 일부 클래스 파일 또는 Jar 파일을 명령 줄 인수로 지정합니다. 그러나 그것만으로는 충분하지 않습니다. java.exe 자체에는 모든 Java 라이브러리뿐만 아니라 다양한 다른 리소스가 필요합니다. 환경 변수 JAVA_HOME을 설정하여 JRE 및 모든 런타임 리소스를 찾을 위치를 지정합니다. 실행하는 특정 Java가 JAVA_HOME의 설정과 일치하는지 확인해야합니다.
또한 JAVA_HOME\bin
경로 에 초기에 배치하여 java.exe
자신의 복사본을 생성하는 경우 (예 : JSP 컴파일) 올바른 버전을 선택해야 할 수도 있습니다.
답변
@dirai에 따르면 여기는 JAVA_HOME
Java 자체가 아니라 Apache Tomcat과 같은 타사 도구에서 사용됩니다 . 그러나 대부분의 응용 프로그램은이 변수를 설정하지 않아도 작동하지만 일부 응용 프로그램은 예기치 않은 동작을 보일 수 있습니다.
답변
답변
JAVA_HOME
여러 Java 설치를 실행할 수 있습니다. /usr/lib/jvm/java-1.8.0/bin/java
PATH에 먼저 있는 경우에도 JAVA_HOME=/usr/lib/jvm/java-1.5.0
프로그램을 실행하는 데 사용되는 기본 “java”가 환경 설정의 문제로 대신 다른 하나를 사용 하도록 말할 수 있으면 유용 합니다. 이를 통해 프로그래머는 정상적인 시스템 위치에 설치되지 않은 경우에도 필요한 Java를 사용할 수 있으며 해당 대체 버전과의 역 호환성을 테스트하거나 제공 할 수 있습니다. 또한 Java 자체의 주요 버전 업데이트와 같이 설치된 다른 프로그램에 의해 PATH에서 재설정되는 것에 취약하지 않습니다.