首页 文章

替代commons-logging-1.2.jar将在log4j的pom.xml文件中添加以避免org.apache.commons.logging.LogFactory ClassNotFoundException

提问于
浏览
0

替代commons-logging-1.2.jar将添加到log4j logging Framework的pom.xml文件中,以避免显示以下错误:

java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory

引起:java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory

通过在/ WEB-INF / lib /文件夹中添加commons-logging-1.2.jar文件并尝试在pom.xml文件中添加commons-logging-1.2依赖关系来执行一些初步的解决步骤后,仍然没有获取任何效果很好 .

这些是Log4j.properties的详细信息:

log4j.rootLogger=INFO, Appender1, Appender2

log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

log4j.appender.Appender2=org.apache.log4j.FileAppender
log4j.appender.Appender2.File=D:/Logs/SpringMVC.log
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

这是包含的pom.xml文件依赖项:

<log4j.version>1.6.5</log4j.version>

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-bom</artifactId>
      <version>2.5</version>
      <scope>import</scope>
      <type>pom</type>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-web</artifactId>  
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jcl</artifactId>
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
</dependency>
</dependencies>

1 回答

  • 0

    在通过网站搜索答案后,此网站链接重点关注解决方案:https://stackoverflow.com/a/21688114/5984671

    以下是对pom.xml文件所做的更改,之后执行时没有错误:

    <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
    
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
    
        <!-- <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency> -->
    
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j13</artifactId>
            <version>${slf4j.log4j13.version}</version>
        </dependency>
    
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    
    <!-- <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
    </dependency> -->
    

    (简短说明:如果我同时使用slf4j-api和log4j-api依赖,是否会有任何冲突,任何对此的评论都是可观的)

相关问题