standalone.xml 是 WildFly 独立模式的核心配置文件,定义服务器全部运行时行为;修改需备份并重启或 CLI 热重载,推荐优先使用管理 CLI 操作,避免直接编辑;关键配置包括网络端口、数据源、安全域、部署扫描器等,添加 JDBC 驱动支持模块安装和 JAR 部署两种方式。`standalone.xml` 是 WildFly(以及旧版 JBoss AS)独立模式下的核心配置文件,位于 `$WILDFLY_HOME/standalone/configuration/` 目录下。它定义了服务器运行时的模块、数据源、安全域、部署扫描器、线程池、日志、网络接口、子系统等全部行为。修改前务必备份,并在修改后重启服务或使用管理 CLI 热重载。
关键原则:不要直接编辑
正在运行的 `standalone.xml`;推荐优先用 ./jboss-cli.sh(Linux/macOS)或 jboss-cli.bat(Windows)操作,避免手误和格式错误。
所有配置都包裹在 标签下,按功能划分为多个 。常见需调整的部分包括:
和 中修改。例如将 HTTP 端口从 8080 改为 9090:-Djboss.http.port=9090
内配置。需指定 JDBC 驱动、连接 URL、用户名密码、连接池参数。例如 PostgreSQL 数据源需先部署驱动模块或使用 JDBC JAR(WildFly 26+ 支持自动部署 .jar 到 deployments/)。 中定义,用于 JAAS 认证。常配合 login-module 使用,如 LdapLoginModule 或自定义类。 中控制自动部署行为。可关闭(scan-interval="0")、修改扫描路径(path="deployments")或启用热部署(auto-deploy-zipped="true")。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 的 *册:
postgresql-42.x.x.jar 复制到 $WILDFLY_HOME/standalone/deployments/.jar,且无 .deployed 或 .failed 标记)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")
/core-service=management/security-realm=ApplicationRealm/server-identity=ssl:add(keystore-path="/path/to/keystore.jks", keystore-password="changeit")https socket 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),复制配置时务必核对当前版本文档。