不同版本的JBoss在同一台主机上

时间:2010-03-31 09:45:02

标签: jboss jboss5.x

我在我的电脑上安装了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中设置的任何变量?

它是如何运作的?

3 个答案:

答案 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;如上所述,它有效。