JAVA_HOME을 설정하고 대체 위치를 사용하고 있습니다.
/usr/lib/jvm/jre
이는 현재 활성화된 simlink 설치의 절대 경로입니다.
이 심볼릭 링크 위치를 사용하면 단점이 있나요?
내가 읽은 다른 기사에서는 oneliner를 사용하여 궁극적으로 절대 경로를 가리키는 것을 제안합니다. 예를 들면 다음과 같습니다.
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
왜 아무도 내가 설정한 간단한 위치를 사용하도록 제안하지 않았는지 모르겠습니다. 지금까지 어떤 문제도 발생하지 않았지만 이 솔루션이 작동하지 않는 특별한 경우가 있을 수 있습니까?
답변1
아니요, 이 경우에는 심볼릭 링크를 사용하는 것이 좋으며 일반적으로 더 좋습니다. 예를 들어 다음과 같은 것이 있다고 가정해 보겠습니다.
/opt/some-program-2.0/bin/
바이너리 세트가 포함되어 있으면 심볼릭 링크를 만들 수 있습니다.
/opt/some-program -> /opt/some-program-2.0
그리고 /opt/some-program/bin
경로에 추가했습니다. 앞으로 some-program-3.0
출시되면 다음을 만들 수 있습니다.
/opt/some-program-3.0/
새 디렉터리를 가리키도록 심볼릭 링크를 업데이트합니다. 이렇게 하면 다른 어떤 것도 변경할 필요가 없습니다.
Distro의 JVM 관리는 일반적으로 이 패턴을 따릅니다.