我的项目使用Hibernate 、c3p0 框架连接Mysql数据库,使用服务器是tomcat。
我是用的具体版本是c3p0-0.9.1.1.jar,但是经常在控制台抛出错,报的一个这样的错误!!!!!
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "Timer-1" java.lang.NoClassDefFoundError: com/mchange/v2/log/MLog
at com.mchange.v2.c3p0.DataSources.<clinit>(DataSources.java:72)
at org.hibernate.connection.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:176)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:79)
at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:425)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
at com.hnlx.hibernateUtil.HibernateUtil.<clinit>(HibernateUtil.java:22)
at com.hnlx.dao.impl.QueryDaoImpl.getElog(QueryDaoImpl.java:33)
at com.hnlx.test.QueryTest$3.run(QueryTest.java:117)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.mchange.v2.log.MLog
at java.net.URLClassLoader$1.run(Unknown Source)
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)
... 14 more
我在网上查来一下,原因C3P0 少了个 jar 包,mchange-commons-java-0.2.3.1.jar。把C3P0,mchange-commons-java-0.2.3.1.在导入项目中在启动就可以了!!!