데비안 / 우분투에서 JAVA_HOME을 확인하는 방법은 무엇입니까? JVM을 동시에 가질 수 있습니다.

우분투에서는 여러 개의 JVM을 동시에 가질 수 있습니다. 기본 설정은로 선택되어 update-alternatives있습니다. 그러나 이것은 debian 정책JAVA_HOME 으로 인해 환경 변수를 설정하지 않습니다 .

Java 응용 프로그램을 시작하는 런처 스크립트 (bash)를 작성 중입니다. 이 Java 애플리케이션에는 JAVA_HOME환경 변수가 필요합니다 . 그렇다면 현재 선택한 JVM의 경로를 얻는 방법은 update-alternatives무엇입니까?



답변

JRE의 경우 다음과 같은 트릭이 필요합니다.

JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")


답변

danadam의 솔루션은 필요에 따라 JDK (예 : JRE 아님) 경로를 검색하기 위해 쉽게 채택 할 수 있습니다.

JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
  • JDK (JRE 아님)에 포함 된 javac Java 컴파일러 (java 대신)를 찾습니다.
  • 후행 /가 없습니다 (s : bin … 대신 sed s : / bin …에 의해 잘림)

답변

export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/java)))

에서가 .bashrc나 편리했다.


답변

그래서, 당신은이 명령이 당신을 위해 아무것도하지 않는다고 말하고 있습니까?

sudo update-alternatives --config java


답변

나는 자바를 설치했다.

sudo apt-get install openjdk-7-jre-headless

그런 다음 위치를 찾기 위해

ls -al /etc/alternatives/java


답변

danadams의 확장으로 대답 :

우선, 우선 순위가 “3”인 2 번째 Java JRE를 3 번째 java 옵션으로 설치하십시오.

sudo alternatives --install /usr/lib/jvm/jre jre /opt/IBM/java/jre/bin/java 3

그런 다음 다음을 나열 할 수 있습니다.

update-alternatives --list java

다음을 사용하여 대안을 손으로 설정할 수 있습니다.

sudo alternatives --config java /opt/IBM/java/jre/bin/java

그런 다음 스크립트는 다음과 같이 즉석에서 설정할 수 있습니다.

sudo alternatives --set java /opt/IBM/java/jre/bin/java
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

이것은 ‘sed’명령이 수행하는 작업을 더 잘 보여줍니다. 여전히 javaw 및 javac 등에 대한 링크를 설정해야하지만 각각 별도로 수행됩니다.


답변

얼마 전에 우분투 포럼에서 Java 웹 사이트에서 최신 JRE / JDK를 설치하는 방법에 대한 자습서를 만들었습니다. 또한 JRE / JDK 위치를 PATH 변수에 추가하여 시스템 전체에서 사용 가능하게하는 방법에 대해서도 설명합니다. 원하는 경우 주제 끝에 언급 된 JAVA_HOME을 스크립트에 추가 할 수도 있습니다.

그것을 확인하십시오 :
http://ubuntuforums.org/showthread.php?t=1437100