我使用Mac 10.9.5和JBoss 7.1.3.Final。我通过termianl(bash shell)启动JBoss,就像这样
Daves-MacBook-Pro:core davea$ cd $JBOSS_HOME/bin
Daves-MacBook-Pro:bin davea$ sudo sh standalone.sh
在shell中,我可以看到$ JAVA_HOME被定义了......
Daves-MacBook-Pro:bin davea$ echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
然而,JBoss没有拿起这个环境变量(它使用的是我的机器上也有的Java 8安装),迫使我取消注释我的$ JBOSS_HOME / bin / standalone.conf文件中的以下行。
JAVA_HOME="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home"
虽然这很简单,但我更倾向于采用更自动的解决方案。有没有人知道我要做什么让JBoss识别我在shell中设置的$ JAVA_HOME环境变量,而不必在Jboss配置中硬编码值?
修改
(回应已发布的内容)请记住,我正在从同一个shell中完成所有这些操作。所以我在这里展示了我已经定义了$ JAVA_HOME环境var ...
Daves-MacBook-Pro:bin davea$ echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
然后我按你建议的方式编辑我的$ JBOSS_HOME / standalone / 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 :(得分:0)
如果您确实想使用sudo
,则必须添加-E
参数以保留环境变量。