获取抛出java.lang.ClassNotFoundException:org.apache.co

2019-07-22 02:43发布

我正在执行春天&得到这个异常简单的依赖注入程序。 我已经包括共logging1.1.1.jar和的spring.jar文件。 能否请你帮助吗?

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:119)
    at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:55)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:56)
    at com.client.StoryReader.main(StoryReader.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 6 more

Answer 1:

我也面临着同样的问题,要解决,从下面的网址下载jar文件

http://commons.apache.org/logging/download_logging.cgi

并复制到lib文件夹,将解决你的问题。



Answer 2:

如果你正在使用maven管理依赖关系,添加下面一行在你的pom.xml:

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
</dependency>


Answer 3:

您只需要下载共享记录-1.1.2.jar ,然后到库这个文件复制

最后,它的工作原理。



Answer 4:

我有同样的问题,而仅仅通过增加解决它commons-logging.jar到类路径。



Answer 5:

共享记录-1.1.1.jar或JCL-过SLF4J-1.7.6.jar人

如果您正在使用Maven,使用下面的代码。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
</dependency>


Answer 6:

添加的commons-logging.jar或共享记录-1.1.jar会解决这个...



Answer 7:

设置范围编译为我做

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.2</version>
  <scope>compile</scope>
</dependency>


Answer 8:

我已经包括共logging1.1.1.jar和...

你确定你拼写的JAR文件完全正确的名字吗? 我想大概应该是commons-logging-1.1.1.jar (注意额外的-在名称)。 同时检查目录名称是正确的。

NoClassDefFoundError总是意味着一个类不能被发现,那么很可能是你的类路径是不正确的。



Answer 9:

试着做目标/部署目录的完整干净的应用摆脱任何过时的库罐子。 作出新的构建和检查的commons-logging.jar实际上是被放置在正确的lib文件夹。 当你构建应用程序的库它可能不包括在内。



Answer 10:

问题通过添加的commons-logging.jar解决

进出口文件,

antlr-runtime-3.0.1

org.springframework.aop-3.1.0.M2

org.springframework.asm-3.1.0.M2

org.springframework.aspects-3.1.0.M2

org.springframework.beans-3.1.0.M2

org.springframework.context.support-3.1.0.M2

org.springframework.context-3.1.0.M2

org.springframework.core-3.1.0.M2

org.springframework.expression-3.1.0.M2

commons-logging-1.1.1


Answer 11:

两种选择(至少):

  1. 通过复制到本地文件夹的共享记录JAR添加到您的文件。

注意:将罐子可能会导致与服务器,也许为什么它添加到构建路径,但不解决服务器启动问题的原因的问题。

所以,不要罐子指向外部文件夹。

要么...

  1. 如果你真的不想在本地添加它,因为你分享项目之间的罐子,然后...

如果您使用的是TC服务器实例,那么你需要的jar添加为外部JAR服务器实例上运行配置。

去跑的,跑的配置......,{您的TC服务器实例},然后在类路径选项卡。

然后添加共享记录罐子。



Answer 12:

我比你同样的麻烦。 最后,我检查的Apache拥有类的版本。 我发现,在版本1.0.4有类。

尝试使用版本1.0.4,而不是1.1.X或1.2.X的

我的依赖关系:

    <dependencies>
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-core</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-client-java</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.4</version>
        </dependency>
    </dependencies>

我的Java代码

J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia");
J4pReadRequest req = new J4pReadRequest("java.lang:type=Memory","HeapMemoryUsage");
req.setPath("used");
J4pReadResponse resp = j4pClient.execute(req);
System.out.println(resp.getValue());

我的结果:

130489168

仔细检查也是Maven的依赖性以及进口。



Answer 13:

http://commons.apache.org/logging/download_logging.cgi

使用此URL下载JAR文件并将它们包括在类路径中,问题就解决了



Answer 14:

我一般分配类路径变量,然后验证它。 我写了一个小的Ruby脚本,我包括在我的启动脚本启动Java之前验证类路径 。 验证JVM开始前classpath中节省了我大量的时间解决这些类型的问题。



Answer 15:

嘿,我是在tutorialpoint.com教程以下。 加入后,在完成步骤2 -安装Apache通用日志API:你必须导入外部JAR库从在这一步中下载的文件的项目。 对我来说,文件名是“ 共享记录-1.1.1”。



Answer 16:

如果你正在运行在Android上这则请注意,显然java.beans包是不完整的Android上。 要尝试修复它在Android上尝试以下方法:

  1. 下载Android的Java的空气bridge.jar (目前的下载按钮在页面或底部直接点击这里 )
  2. 复制下载JAR到你的[为approot] /应用/ libs目录(或以任何其他方式连接的jar)
  3. 改变import ***声明,表示空气桥。 如import javadz.beanutils.BeanUtils代替import org.apache.commons.beanutils.BeanUtils;
  4. 清理并重建项目

源1 , 源2

我很抱歉,因为我知道这是不完全回答这个问题,但为Android生成搜索时,此SO页面出现了很多NoClassDefFoundError: Failed resolution of: beanUtils错误。



Answer 17:

我得到了同样的错误,而罐子存在。 无解的工作。 什么工作是从文件中删除系统的jar(从.m2目录目录),然后清洗Maven项目。



Answer 18:

我在Eclipse IDE中的同样的问题,我的解决办法:右键单击我的项目>属性

点击Maven和写: 罐子Active Maven项目

最后,应用及关闭



Answer 19:

在我来说,我是测试在Eclipse Tomcat的应用程序,并得到这个错误。 我解决它通过检查.classpath文件,并纠正了这个条目:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

属性org.eclipse.jst.component.dependency已经失踪。



Answer 20:

只是检查的commons-logging.jar是否已被添加到您的库和类路径..我有同样的问题,那是因为这个原因。 dhammikas-



Answer 21:

检查是否罐子正确​​导入。 我进口他们使用构建路径。 但它并不能识别WAR / lib文件夹罐子。 后来,我复制了同样的罐子战/ lib文件夹 。 现在工作正常。 您可以刷新/清理项目。



Answer 22:

朋友你好,如果你获得任何未发现类处于休眠码异常事件是罐子files.here的问题主要有两个问题
1.I的意思是说你的工作旧版本的Hibernate的可能是3.2 bellow.So如果ü尝试上述3.6它将正常工作

2.first checkes数据库connection.if它的数据库正常工作他们是在乌拉圭回合程序或JAR文件中的错误。

请检查是否还没有工作你想IDE这两个prioblems。 我使用netbeanside 6.9 version.here休眠工作fine.you没有得到从类没有founnd例外任何错误..

我希望这一个帮助更多



Answer 23:

解决办法是增加共logging.xx jar文件



Answer 24:

尝试添加这种依赖性org.apache.commons公地EXEC 1.3



Answer 25:

如果一切都失败了,因为它有我,则尝试将共享记录,xyzjar在Tomcat的lib目录下。 它解决了这个问题! 顺便说一句,我使用Tomcat 6。



文章来源: Getting java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory exception