java.lang.NoClassDefFoundError:无法初始化类org.apache.commons.logging.LogFactory

苏梅特·达斯(Sumeet Das)

我是Google App Engine的新手。我收到此错误:

java.lang.NoClassDefFoundError: Could not initialize class 
                  org.apache.commons.logging.LogFactory at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:282) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at 
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) at 
org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at ...

我添加了slf4j依赖项,并在spring-context依赖项中排除了commons-logging,但仍然出现此错误。该应用程序在我的本地计算机上运行正常,但是在部署到App Engine时却出现了此错误。

苏梅特·达斯(Sumeet Das)

多亏了这个博客,我得以解决此问题:

Commons-logging是许多框架(包括Spring)的依赖项。在本地服务器上,一切运行正常。在云中,Google App Engine基础结构用其自身的JAR(具有不同的包结构)替换了commons-logging-1.1.1.jar。实际上,这意味着即使您将JAR作为依赖项,您也会在org.apache.commons.logging.LogFactory上看到有趣的NoClassDefFoundError。解决方案是仍然包含类,但给JAR重命名。

由于我使用Maven,因此使用Spring和MyFaces工件的排除标签从WAR中删除了commons-logging依赖项。然后,我在运行时范围内添加了对commons-logging:commons-logging-api:1.1:jar的依赖。这个罐子将不会被更换。

因此,您应该从Spring中排除commons-logging:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${org.springframework.version}</version>
    <exclusions>
        <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
    

然后在运行时范围内添加commons-logging-1.1的依赖项:

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging-api</artifactId>
        <version>1.1</version>
        <scope>runtime</scope>
</dependency>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

线程“主”中的异常java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory

java.lang.NoClassDefFoundError:无法解决以下问题:Lorg / apache / commons / logging / LogFactory

错误:NoClassDefFoundError:org / apache / commons / logging / LogFactory

使用org.apache.commons.logging.LogFactory.getLog的最佳实践

java.lang.ClassNotFoundException:org.apache.commons.logging.Log

org.apache.commons.discovery.DiscoveryException:没有为org.apache.commons.logging.LogFactory定义的实现

java.lang.NoClassDefFoundError:org / apache / commons / logging / Log并用Junit模拟RestTemplate时

Zeppelin java.lang.NoClassDefFoundError:无法初始化类org.apache.spark.rdd.RDDOperationScope $

如何在quarkus本机映像中修复'org.apache.commons.logging.LogConfigurationException:java.lang.ClassNotFoundException'

java.lang.NoClassDefFoundError:org / apache / commons / collections / Transformer

java.lang.NoClassDefFoundError:org / apache / commons / io / FileUtils

#java.lang.NoClassDefFoundError:org / apache / commons / digester / Digester

java.lang.ClassNotFoundException:org.apache.commons.lang.UnhandledException

org.apache.commons.lang.SerializationException:java.lang.ClassNotFoundException

java.lang.NoClassDefFoundError:org / apache / spark / Logging

获取java.lang.NoClassDefFoundError:升级到POI 4.0.0后无法初始化类org.apache.poi.ooxml.util.DocumentHelper

java.lang.NoClassDefFoundError:Lorg / apache / commons / collections / FastHashMap;

NoClassDefFoundError:org.apache.commons.lang.StringUtils

java.lang.ClassNotFoundException:org.apache.commons.digester.Rule

java.lang.ClassNotFoundException:org.apache.commons.fileupload.FileItemFactory

java.lang.ClassNotFoundException:org.apache.commons.text.WordUtils

java.lang.AbstractMethodError:org.apache.commons.dbcp.PoolingDataSource

java.lang.NoClassDefFoundError:org / apache / commons / lang3 / ObjectUtils

线程“主”中的异常java.lang.NoClassDefFoundError:org / apache / commons / lang / builder / CompareToBuilder

java.lang.NoClassDefFoundError:无法初始化类org.bytedeco.javacpp.avutil

关于java.lang.NoClassDefFoundError:无法初始化类org.xerial.snappy.Snappy

java.lang.NoClassDefFoundError:无法初始化类org.springframework.mail.javamail.SmartMimeMessage

java.lang.NoSuchMethodError:org.apache.commons.lang.StringUtils.isBlank(Ljava / lang / String;)Z错误

春季:java.lang.NoClassDefFoundError:无法初始化类