重新部署Web应用程序的新版本时总是出现错误。
我必须取消部署并重新启动服务器才能使其正常工作。
如果我不重新启动服务器,我会在部署过程中收到以下消息:
无法将“日志上下文”强制转换为“日志上下文”
我运行一个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>
2条答案
按热度按时间w7t8yxp51#
这是因为WildFly上已经存在(隐式)log4j API依赖项。您可以将WildFly配置为不添加其自己的API日志依赖项。
A)从WildFly控制台:配置-〉子系统-〉日志记录配置
将“添加日志记录API依赖性”更改为false
B)通过编辑standalone.xml:
C)或者,如果您有jboss-deployment-structure.xml
附言:我用和你一样的技术解决了这个问题
jboss doc about logging-api-dependencies
nhaq1z212#
我认为您应该排除org.apache.logging.log4j:
因为log4j:log4j是旧名称