2015-06-05 3 views
0

Я использую Mac 10.9.5 с JBoss 7.1.3.Final. Я запускать JBoss через termianl (Баш оболочки), например, такКак заставить JBoss 7.1.3 использовать мою среду Java JAVA_HOME?

Daves-MacBook-Pro:core davea$ cd $JBOSS_HOME/bin 
Daves-MacBook-Pro:bin davea$ sudo sh standalone.sh 

В раковине, я могу видеть, что $ JAVA_HOME определяется ...

Daves-MacBook-Pro:bin davea$ echo $JAVA_HOME 
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 

Однако JBoss не подбирая эта переменная (она использует 8 установки Java, что я есть на моей машине), заставляя меня раскомментируйте следующую строку в моем $ JBOSS_HOME/файл bin/standalone.conf ...

JAVA_HOME="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" 

Хотя это прямолинейный orward, я предпочел бы более автоматическое решение. Кто-нибудь знает, что мне нужно сделать, чтобы JBoss распознал переменную окружения $ JAVA_HOME, которую я установил в своей оболочке, без необходимости жестко кодировать значение в конфигурации Jboss?

Edit:

(В ответ на commnent публикуемую) Имейте в виду, что я делаю все это из той же оболочки. Так вот, где я показал у меня есть среда вар $ JAVA_HOME определенный ...

Daves-MacBook-Pro:bin davea$ echo $JAVA_HOME 
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 

Тогда я изменить свой $ JBOSS_HOME/автономный/bin/файл standalone.conf в том, как вы предлагаете ...

echo JAVA_HOME=$JAVA_HOME 
echo "DONe with echo" 
#JAVA_HOME="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" 

и когда я повторно запустить сценарий запуска, это то, что печатает ...

JAVA_HOME= 
DONe with echo 
+0

Если вы запустите jboss, что случилось, терминал остановился? или есть исключение ?, пожалуйста, объясните больше. –

+0

Для проверки попробуйте добавить 'echo JAVA_HOME = $ JAVA_HOME' в' standalone.conf', прежде чем вы установите его. Возможно, это просто не задано в вашей сессии. Обратите внимание, что вы можете использовать 'JAVA_HOME = $ (/ usr/libexec/java_home -v 1.6)', поэтому вам не нужно жестко закодировать свой путь. –

+0

Привет, я редактировал свой вопрос, чтобы показать результат в ответ на предложение «echo JAVA_HOME = $ JAVA_HOME». Что касается побочной заметки, я пытаюсь создать ситуацию, когда я могу легко переключаться между Java 6 и Java 7, поэтому я действительно хотел бы использовать $ JAVA_HOME в качестве центрального места для управления этим. – Dave

ответ

0

Если вы действительно хотите использовать sudo, вы должны добавить параметр -E сохранить переменные среды.