standalone.xml 是 WildFly 独立模式的核心配置文件,定义服务器全部运行时行为;修改需备份并重启或 CLI 热重载,推荐优先使用管理 CLI 操作,避免直接编辑;关键配置包括网络端口、数据源、安全域、部署扫描器等,添加 JDBC 驱动支持模块安装和 JAR 部署两种方式。

关键原则:不要直接编辑正在运行的 `standalone.xml`;推荐优先用 ./jboss-cli.sh(Linux/macOS)或 jboss-cli.bat(Windows)操作,避免手误和格式错误。
常用配置项位置与修改方式
所有配置都包裹在 标签下,按功能划分为多个 。常见需调整的部分包括:
-
网络接口与端口:在
和中修改。例如将 HTTP 端口从 8080 改为 9090:
→ 找到
→ 或在启动时加参数:-Djboss.http.port=9090 -
数据源(DataSource):在
内配置。需指定 JDBC 驱动、连接 URL、用户名密码、连接池参数。例如 PostgreSQL 数据源需先部署驱动模块或使用 JDBC JAR(WildFly 26+ 支持自动部署.jar到deployments/)。 -
安全域(Security Domain):在
中定义,用于 JAAS 认证。常配合login-module使用,如LdapLoginModule或自定义类。 -
部署扫描器(Deployment Scanner):在
中控制自动部署行为。可关闭(scan-interval="0")、修改扫描路径(path="deployments")或启用热部署(auto-deploy-zipped="true")。
添加 JDBC 驱动的两种方式
WildFly 不自带 Oracle/MySQL/PostgreSQL 驱动,需手动引入:
-
方式一:作为模块安装(推荐用于生产)
→ 创建目录:$WILDFLY_HOME/modules/system/layers/base/com/postgresql/main/
→ 放入postgresql-42.x.x.jar和module.xml(声明resource-root和dependencies)
→ 在standalone.xml的下注册: -
方式二:直接部署 JAR(开发调试快捷)
→ 将postgresql-42.x.x.jar复制到$WILDFLY_HOME/standalone/deployments/
→ WildFly 自动识别并注册为驱动(文件名需含.jar,且无.deployed或.failed标记)
通过 CLI 安全修改配置(不手动改 XML)
CLI 是最稳妥的方式,支持事务性操作和回滚提示。示例:
- 添加数据源:
/subsystem=datasources/data-source=myDS:add(jndi-name="java:/jdbc/myDS", driver-name="postgresql", connection-url="jdbc:postgresql://localhost:5432/mydb", user-name="user", password="pass") - 启用 HTTPS:
/core-service=management/security-realm=ApplicationRealm/server-identity=ssl:add(keystore-path="/path/to/keystore.jks", keystore-password="changeit")
再绑定到httpssocket binding - 重载配置(不重启):
:reload(保存后生效)或:reload(restart-required=false)(部分变更支持热重载)
验证与排错提示
启动时若报错,重点关注:
– XML 格式是否合法(标签闭合、属性引号、命名空间一致)
– 模块路径是否存在、module.xml 是否写对 resource-root
– 数据源中 connection-url 是否可达,驱动是否已加载(查 /subsystem=datasources/jdbc-driver=xxx:read-resource)
– 日志级别设为 DEBUG 可定位子系统初始化失败原因(在 中添加 logger)
不复杂但容易忽略的是命名空间版本号——不同 WildFly 版本对应不同 subsystem 命名空间(如 datasources:5.0 vs 7.0),复制配置时务必核对当前版本文档。










