簡體   English   中英

在 Wildfly 中重新部署戰爭時出現 ClassCastingException

[英]ClassCastingException when redeploy war in wildfly

我總是在重新部署我的網絡應用程序的新版本時遇到錯誤。

我必須取消部署並重新啟動服務器才能使其正常工作。

如果我不重新啟動服務器,我會在部署過程中收到此消息:

org.apache.logging.log4j.core.LoggerContext 不能轉換為 org.apache.logging.log4j.core.LoggerContext

我將 Springboot 應用程序作為后端運行,Angular 作為前端運行。

這是我的 Maven 依賴項:

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.4.4</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
            <exclusion>
                <groupId>log4j</groupId>
                <artifactId>*</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>*</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>*</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-websocket</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot</artifactId>
        <version>2.4.4</version>
    </dependency>

我認為你應該排除org.apache.logging.log4j

<exclusion>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>*</artifactId>
</exclusion>

因為 log4j:log4j 是舊名稱

發生這種情況是因為 WildFly 上已經存在(隱式)log4j API 依賴項。 幸運的是,您可以將 WildFly 配置為不添加它們。

從 WildFly 控制台:配置 -> 子系統 -> 日志配置

將“添加日志記錄 Api 依賴項”更改為false

或者,在 standalone.xml 上:

<subsystem xmlns="urn:jboss:domain:logging:8.0">
   <add-logging-api-dependencies value="false"/>

PS 這為我修復了與您相同的堆棧

jboss 文檔關於 logging-api-dependencies

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM