【问题标题】:java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfiguratorjava.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
【发布时间】:2014-05-09 10:20:19
【问题描述】:

我的项目中有以下 jar:

antlr.jar commons.collections-3.2.1.jar dom4j-1.6.jar hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.0.1.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar javassist-3.12.1.GA.jar jboss-logging.3.1.0.cr2.jar jboss-transaction-api_1.1_spec-1.0.0.Final.jar log4j-1.2.16.jar slf4j-api-1.6.4.jar slf4j-log4j12-1.6.4.jar

发生异常的代码:

ClassLoader loader = Thread.currentThread().getContextClassLoader(); URL url = loader.getResource("log4j.properties"); System.out.println(url); PropertyConfigurator.configure(url);

System.out.println(url) 为:

file:/D:/me/HibernateProject/build/classes/log4j.properties 并且文件存在,浏览器可以浏览文件。

log4j.properties 文件,内容如下:

http://www.javatpoint.com/hibernate-logging-by-log4j-using-properties-file

例外:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator at com.pkm.commands.UpdateUser.doWork(UpdateUser.java:29) at com.pkm.commands.UpdateUser.main(UpdateUser.java:15) Caused by: java.lang.ClassNotFoundException: org.apache.log4j.PropertyConfigurator at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 2 more Java Result: 1

【问题讨论】:

    标签: java hibernate log4j propertyconfigurator


    【解决方案1】:

    如果类路径有问题,通常会出现此错误。运行时类路径中可能不存在所需的 jar。

    【讨论】:

      【解决方案2】:

      您应该配置您的 java 构建路径以确保 log4j.jar 文件在 order 和 export 列表中!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多