【问题标题】:How to get JBoss 7.1.3 to use my $JAVA_HOME environment varaible?如何让 JBoss 7.1.3 使用我的 $JAVA_HOME 环境变量?
【发布时间】:2015-06-05 19:08:32
【问题描述】:

我正在使用带有 JBoss 7.1.3.Final 的 Mac 10.9.5。我通过 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 环境变量......

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

【问题讨论】:

  • 如果你运行jboss,发生了什么,终端停止了?还是有例外?请多解释。
  • 只是为了测试尝试在设置之前在standalone.conf 中添加echo JAVA_HOME=$JAVA_HOME。也许它只是没有在你的会话中设置。旁注您可以使用JAVA_HOME=$(/usr/libexec/java_home -v 1.6),因此您不必对路径进行硬编码。
  • 嗨,我编辑了我的问题以显示输出以响应您的“echo JAVA_HOME=$JAVA_HOME”建议。关于旁注,我正在尝试创建一种可以轻松在 Java 6 和 Java 7 之间切换的情况,所以我真的很想使用 $JAVA_HOME 作为控制它的中心位置。

标签: jboss environment-variables jboss7.x java-home


【解决方案1】:

如果你真的要使用sudo,你必须添加-E参数来保留环境变量。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2012-08-30
    相关资源
    最近更新 更多