Java 迁移到Struts 2.5.16导致log4问题

Java 迁移到Struts 2.5.16导致log4问题,java,tomcat,struts2,log4j2,Java,Tomcat,Struts2,Log4j2,我正在将现有的Struts应用程序2.3.34迁移到2.5.16。 我已经用升级所需的min distribution中的所有LIB更新了我的项目。 在服务器(Tomcat 8.5)启动时,我在控制台中看到错误: 错误状态记录器Log4j2找不到日志记录实现。请将log4j核心添加到类路径。使用SimpleLogger登录控制台… 看起来里面缺少log4j核心库? 如果有人遇到过类似的问题,或者我遗漏了什么,请告诉我 谢谢 struts 2的最新版本(V2.5.16)使用log4j2 jar。有

我正在将现有的Struts应用程序2.3.34迁移到2.5.16。 我已经用升级所需的min distribution中的所有LIB更新了我的项目。 在服务器(Tomcat 8.5)启动时,我在控制台中看到错误: 错误状态记录器Log4j2找不到日志记录实现。请将log4j核心添加到类路径。使用SimpleLogger登录控制台… 看起来里面缺少log4j核心库? 如果有人遇到过类似的问题,或者我遗漏了什么,请告诉我


谢谢

struts 2的最新版本(V2.5.16)使用log4j2 jar。有关更多详细信息,请参阅。如果您的webapp中已经有log4j2,请尝试将其更新到。我遇到了这个问题。由于struts 2.5.16使用log4j2,我们必须将其添加到类路径中。一旦我们将它添加到我们的项目中,我就不会得到struts日志,因为我们有log4j.xml文件

因此,我开始迁移应用程序日志和hibernate日志,但在某个时候它不起作用

简单的解决方法不是将整个项目迁移到log4j2 使用log4j-to-slf4j适配器jar,这将使您的struts模块与现有的slf4j实现协同工作。我做了以下pom更改:

<dependency>
        <!--Defining not to use the log4j-api -->
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>${struts.ver}</version>
        <exclusions>
            <exclusion>
                <artifactId>org.apache.commons</artifactId>
                <groupId>commons-lang3</groupId>
            </exclusion>
            <exclusion>
                <artifactId>log4j-api</artifactId>
                <groupId>org.apache.logging.log4j</groupId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency> <!-- Redirecting from log4j2 to slf4j -->
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-to-slf4j</artifactId>
        <version>2.10.0</version>
    </dependency>

org.apache.struts

谁是“他们”?你的pom是什么样子的?没有任何细节,这真的很难帮助。嗨,戴夫,我们不使用Maven。我的意思是下载的版本2.5.16的min lib包缺少上述jar文件-