运行 Jboss 7 在独立服务器下使用不同的配置文件夹

Running Jboss 7 using different config folder under standalone-servers

我习惯了 jboss 5 种部署方案,其中我使用此命令进行部署:

D:\jboss5\bin\run.bat -c ZZZ

这将部署 jboss5\server\ZZZ 文件夹中的任何内容

我的 jboss7:

上有这个结构
D:\jboss7\
+standalone-servers
++ZZZ
+++modules

当我尝试 运行 jboss7 时:

D:\jboss7\bin\standalone-servers.bat -c ZZZ

它抱怨如下:

org.jboss.modules.ModuleNotFoundException: Module org.jboss.as.standalone:main is not found in local module loader @7559ec47 (roots: D:\jboss7\standalone-servers\modules) at org.jboss.modules.LocalModuleLoader.findModule(LocalModuleLoader.java:126) at org.jboss.modules.ModuleLoader.loadModuleLocal(ModuleLoader.java:275) at org.jboss.modules.ModuleLoader.preloadModule(ModuleLoader.java:222) at org.jboss.modules.LocalModuleLoader.preloadModule(LocalModuleLoader.java:94) at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:204) at org.jboss.modules.Main.main(Main.java:262)

如何告诉 jboss7 查找驻留在文件夹 ZZZ 中的正确配置?

感谢回答

默认情况下,独立 JBoss EAP 6 / JBoss AS 7 实例的基本目录是 ${JBOSS_HOME}/standalone

您可以通过提供 -Djboss.server.base.dir=ZZZ

来覆盖它

您需要创建 ZZZ/configurationZZZ/deployment 目录,并且 将您的 standalone.xml 文件放入 ZZZ/configuration,然后使用选项 jboss 启动。

standalone.bat -Djboss.server.base.dir=path_to_ZZZ

如果你的 JBoss 配置文件没有调用 standalone.xml 那么你还需要添加

-Dtarget.appserver.configfile=my_standalone_config.xml

JBoss 实例基目录不需要位于 ${JBOSS_HOME} 子目录树中。事实上,最好将它放在单独的地方,因为它允许您更新/重新安装 JBOSS 二进制文件而无需覆盖您的配置文件。

modules 文件夹应保留在 ${JBOSS_HOME}

因此,如果您的 ${JBOSS_HOME}c:\jboss7,它看起来会像

C:\jboss7
+bin
+modules
+standalone <- not used!
... etc

c:\standalone-servers
+ZZZ
++configuration
+++standalone.xml
++deployments

一个可能的原因是您的 jboss 运行时间已损坏。

的原因
**org.jboss.modules.ModuleNotFoundException: org.jboss.as.standalone:main
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:224)
at org.jboss.modules.Main.main(Main.java:341)**

是 jboss-eap-6.2\modules\system\layers\base\org\jboss\as\server\main 包在您的 jboss 目录中丢失。此软件包包含 jboss-as-server-7.3.0.Final-redhat-14.jar 和 module.xml,它们对 运行 jboss 服务器必不可少。