我正在执行简单的spring依赖注入程序&得到这个异常。 我已经包含了common-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

当前回答

你好朋友,如果你在hibernate代码中得到任何非类发现异常,这是jar文件的问题。这里主要有两个问题 1.我的意思是说你的旧版本的hibernate可能是3.2 bellow。所以如果你尝试3.6以上就可以了

2.首先检查数据库连接。如果它的数据库工作正常,他们是一个错误在你的程序或jar文件。

请检查这两个问题,如果它也不工作,你尝试IDE。我使用netbeanside 6.9版本。这里hibernate工作正常。你不会从类not found exception中得到任何错误。

我希望这篇文章能更有帮助

其他回答

嘿,我在tutorialpoint.com上看教程。完成第2步后添加—安装Apache Common Logging API:你必须从这一步下载的文件中导入外部jar库到项目中。对我来说,这个文件的名称是“commons-logging-1.1.1”。

只需检查common -logging.jar是否已添加到你的类库和类路径..我也有同样的问题,就是因为这个。 dhammikas -

将作用域设置为编译对我来说很有用

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

添加common -logging.jar或common -logging-1.1.jar将解决这个问题…

我和你有同样的"麻烦" 最后,我检查了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依赖项是否导入良好。