You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Wildfly使用Log4j2时遭遇org.apache.commons.logging类缺失问题

Wildfly配置Log4j2:解决类缺失与配置文件不加载问题

问题根源

直接排除org.apache.commons.logging模块或整个logging子系统时,Wildfly的Undertow组件因依赖commons-logging会触发NoClassDefFoundError;而不排除相关模块时,Wildfly自带的日志框架会覆盖应用的Log4j2配置,导致自定义log4j2.xml无法生效。

正确配置方案

1. 调整jboss-deployment-structure.xml配置

不要直接排除org.apache.commons.logging,而是通过模块桥接让commons-logging调用转发到Log4j2,同时保留容器所需依赖:

<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.apache.logging.log4j.api"/>
            <module name="org.apache.log4j"/>
            <!-- 保留org.apache.commons.logging模块,避免Undertow类缺失 -->
        </exclusions>
        <dependencies>
            <!-- 引入Log4j2的commons-logging桥接模块 -->
            <module name="org.apache.logging.log4j.commons-logging" export="true"/>
        </dependencies>
        <properties>
            <!-- 允许部署包使用自定义Log4j2配置 -->
            <property name="jboss.as.logging.per-deployment" value="true"/>
        </properties>
    </deployment>
</jboss-deployment-structure>

2. 确保应用依赖正确(Maven示例)

添加Log4j2核心及桥接依赖,按需设置scope(若Wildfly已提供对应模块则用provided,否则用compile):

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>你的Log4j2版本</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>你的Log4j2版本</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-commons-logging</artifactId>
        <version>你的Log4j2版本</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

3. 放置自定义配置文件

将log4j2.xml放在应用的src/main/resources目录(Maven项目),Wildfly会在启用per-deployment日志模式后自动加载该配置。

验证

启动Wildfly后,检查日志输出是否匹配log4j2.xml中的规则,同时确认无NoClassDefFoundError报错。

内容的提问来源于stack exchange,提问作者user3757849

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:45:30