Каков правильный путь для Java HOME в системе Linux, использующей альтернативы?

определение правильного пути для JAVA_HOME немного сложно на Ubuntu система, потому что она использует альтернативы. На моей машине это то, как альтернативы создают по крайней мере два уровня косвенности, прежде чем он доберется до фактического java или javac.

usr/bin/javac -> /etc/alternatives/

/etc/alternatives/java -> /usr/lib/jvm/jdk1.7/bin/javac

если я поставил JAVA_HOME to /usr/lib/jvm/jdk1.7, тогда возможно, что моя система java может стать несовместимой с java, на которую указывает JAVA_HOME, если я обновляю Альтернативы для использования другой java.

мой вопрос в том, какое правильное значение для JAVA_HOME в системе, использующей альтернативы. Я склонен думать, что JAVA_HOME должно быть установлено в /usr

таким образом котяра или любое другое программное обеспечение, которое его использует, добавит " bin " к JAVA_HOME и найдите все исполняемые файлы, которые ему нужны.

это правильное значение JAVA_HOME в системах, использующих альтернатив. Большинство программного обеспечения используют JAVA_HOME только для поиска исполняемых файлов, или они будут использовать значение найдите другие артефакты (например, политики безопасности, фильм и т. д.), которые поставляются в комплекте с JDK ? Если первое верно, то я чувствую, что мы можем использовать /usr на JAVA_HOME, но если последнее верно, то я думаю, что единственный способ использовать JAVA_HOME правильно, жертвуя функциональностью альтернатив.

1 ответов


хороший вопрос - я использую " альтернативы "в Linux, и все" просто работает " - мне никогда не приходилось об этом думать.

Я считаю, что это ответ:

1) "альтернативы" устанавливает символическую ссылку на то, что ваша" реальная " Java в настоящее время настроено на

2) Все, что вам нужно сделать, это установить $JAVA_HOME в символическую ссылку