我在我的电脑上安装了JBoss 4到目录C:\ JBoss4
并将环境变量JBOSS_HOME设置为此目录:
JBOSS_HOME=C:\JBoss4
我需要在同一台PC上安装JBoss 5.1 我把它安装到C:\ JBoss51中 为了在JBoss 4已经启动的同一主机上启动JBoss 5.1,我需要重新定义属性 jboss.home.dir,jboss.home.url,jboss.service.binding.set :< / p>
C:\JBoss51\bin\run.sh -Djboss.home.dir=C:/JBoss51 \
-Djboss.home.url=file:/C:/JBoss51 \
-Djboss.service.binding.set=ports-01
但是在 C:\ JBoss51 \ bin \ run.sh 中我可以看到以下代码:
…
if [ "x$JBOSS_HOME" = "x" ]; then
# get the full path (without any relative bits)
JBOSS_HOME=`cd $DIRNAME/..; pwd`
fi
export JBOSS_HOME
…
runjar="$JBOSS_HOME/bin/run.jar"
JBOSS_BOOT_CLASSPATH="$runjar"
此代码不依赖于 jboss.home.dir 或 jboss.home.dir 。
所以当我启动JBoss 5.1时,脚本会使用来自JBoss 4.3的jar文件吗?
这是正确的吗?
我应该在启动JBoss 5.1时重新定义环境变量JAVA_HOME吗?
在这种情况下,脚本将使用正确的jar文件
或者,如果我重新定义属性 jboss.home.dir,jboss.home.url ,那么JBoss将不会使用run.sh中设置的任何变量?
它是如何运作的?
答案 0 :(得分:2)
最简单的方法是不要设置JBOSS_HOME
环境变量。如果在没有设置变量的情况下调用run.bat
,则脚本会将其设置为自己的JBoss目录。明确地设置它可以覆盖JBoss查找内容的位置,但是你必须自己管理它,然后你就陷入了混乱。
因此删除变量,让JBoss处理自己的目录。
答案 1 :(得分:0)
在我的社区7版本中我可以编辑/bin/standalone.conf.bat,在你的情况下设置变量如下:
set "JBOSS_HOME=C:\JBoss51"
在此之后:
if not "x%JAVA_OPTS%" == "x" (
echo "JAVA_OPTS already set in environment; overriding default settings with values: %JAVA_OPTS%"
goto JAVA_OPTS_SET
)
这使得从conf加载JBOSS_HOME。而不是来自环境变量,希望这可以有所帮助!
答案 2 :(得分:0)
与wildfly 8有同样的问题。我有另一个JBOSS实例使用JBOSS_HOME环境变量。我添加了&#34;设置&#34; JBOSS_HOME = ..&#34;如上所述,它有效。