В Windows JAVA_HOME
должен указывать папку установки JDK (так что JAVA_HOME/bin
содержит все исполняемые файлы и JAVA_HOME/libs
содержит все библиотеки по умолчанию jar
).
Если я загружаю пакет Sun JDK и устанавливаю его в Linux, это та же процедура.
Тем не менее, мне нужно использовать пакет OpenJDK по умолчанию Kubuntu. Проблема в том, что все исполняемые файлы помещаются в /usr/bin
. Но банки помещаются в /usr/share/java
. Поскольку они не находятся под одной и той же папкой JAVA_HOME
, у меня возникают проблемы с Grails, и, возможно, будут проблемы с другими приложениями, которые ожидают стандартную структуру Java.
-
Если я использую:
JAVA_HOME=/usr
Все приложения и скрипты, которые хотят использовать любой исполняемый файл Java, могут использовать стандартную процедуру
call $JAVA_HOME/bin/executable
. Однако, поскольку банки находятся в другом месте, они не всегда находятся (например: в граалях я получаюClassDefNotFound
дляnative2ascii
). -
С другой стороны, если я использую:
JAVA_HOME=/usr/share/java
Ни один из исполняемых файлов Java (
java
,javac
и т.д.) не может быть найден.
Итак, каков правильный способ обработки переменной JAVA_HOME
в Linux на базе Debian?
Спасибо за вашу помощь, Луис