关于struts.access.hibernate的问题
我昨天做了一个程序,可是实在找不出错在哪里了,请各位大哥大姐给帮忙看看好么?
程序很简单,
public class TestDAO {
private static SessionFactory factory = null;
static {
try{
Configuration cfg = new Configuration();
factory = cfg.configure().buildSessionFactory();
}catch(Exception e){
e.printStackTrace();
}
}
}
持久化对象也很简单:
public class TestBean implements Serializable {
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
hibernate.cfg.xml如下:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name='hibernate.connection.url'>jdbc:odbc:lee</property>
<property name='hibernate.connection.driver_class'>sun.jdbc.odbc.JdbcOdbcDriver</property>
<property name='dialect'>org.hibernate.dialect.SQLServerDialect</property>
<property name='hibernate.show_sql'>true</property>
<mapping resource='hello/TestBean.hbm.xml'/>
</session-factory>
</hibernate-configuration>
映射文件如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="hello.TestBean" table="test_table">
<id name="id" column="id">
<generator class="increment"/>
</id>
</class>
</hibernate-mapping>
执行以后再叶面上的错误信息是:
javax.servlet.ServletException: サーブレットの実行により例外を投げました
原因
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:1618)
java.lang.Class.getConstructor0(Class.java:1930)
java.lang.Class.newInstance0(Class.java:278)
java.lang.Class.newInstance(Class.java:261)
org.hibernate.cfg.SettingsFactory.createCacheProvider(SettingsFactory.java:327)
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:219)
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1815)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1143)
hello.TestDAO.<clinit>(TestDAO.java:14)
hello.TestBO.queryFromTest(TestBO.java:7)
hello.TestAction.execute(TestAction.java:23)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
在Eclipse的控制台显示的信息一部分是:
2005/12/01 9:09:41 org.hibernate.cfg.Environment <clinit>
情報: Hibernate 3.1 rc1
2005/12/01 9:09:41 org.hibernate.cfg.Environment <clinit>
情報: hibernate.properties not found
2005/12/01 9:09:41 org.hibernate.cfg.Environment <clinit>
情報: using CGLIB reflection optimizer
2005/12/01 9:09:41 org.hibernate.cfg.Environment <clinit>
情報: using JDK 1.4 java.sql.Timestamp handling
2005/12/01 9:09:42 org.hibernate.cfg.Configuration configure
情報: configuring from resource: /hibernate.cfg.xml
2005/12/01 9:09:42 org.hibernate.cfg.Configuration getConfigurationInputStream
情報: Configuration resource: /hibernate.cfg.xml
2005/12/01 9:09:42 org.hibernate.cfg.Configuration addResource
情報: Reading mappings from resource: hello/TestBean.hbm.xml
2005/12/01 9:09:42 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
情報: Mapping class: hello.TestBean -> test_table
2005/12/01 9:09:42 org.hibernate.cfg.Configuration doConfigure
情報: Configured SessionFactory: null
2005/12/01 9:09:42 org.hibernate.cfg.Configuration secondPassCompile
情報: processing extends queue
2005/12/01 9:09:42 org.hibernate.cfg.Configuration secondPassCompile
情報: processing collection mappings
2005/12/01 9:09:42 org.hibernate.cfg.Configuration secondPassCompile
情報: processing association property references
2005/12/01 9:09:42 org.hibernate.cfg.Configuration secondPassCompile
情報: processing foreign key constraints
2005/12/01 9:09:42 org.hibernate.connection.DriverManagerConnectionProvider configure
情報: Using Hibernate built-in connection pool (not for production use!)
2005/12/01 9:09:42 org.hibernate.connection.DriverManagerConnectionProvider configure
情報: Hibernate connection pool size: 20
2005/12/01 9:09:42 org.hibernate.connection.DriverManagerConnectionProvider configure
情報: autocommit mode: false
2005/12/01 9:09:42 org.hibernate.connection.DriverManagerConnectionProvider configure
情報: using driver: sun.jdbc.odbc.JdbcOdbcDriver at URL: jdbc:odbc:lee
2005/12/01 9:09:42 org.hibernate.connection.DriverManagerConnectionProvider configure
情報: connection properties: {}
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: RDBMS: ACCESS, version: 04.00.0000
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: JDBC driver: JDBC-ODBC Bridge (odbcjt32.dll), version: 2.0001 (04.00.6304)
2005/12/01 9:09:43 org.hibernate.dialect.Dialect <init>
情報: Using dialect: org.hibernate.dialect.SQLServerDialect
2005/12/01 9:09:43 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
情報: Using default transaction strategy (direct JDBC transactions)
2005/12/01 9:09:43 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
情報: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Automatic flush during beforeCompletion(): disabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Automatic session close at end of transaction: disabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Scrollable result sets: enabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: JDBC3 getGeneratedKeys(): disabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Connection release mode: null
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Default batch fetch size: 1
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Generate SQL with comments: disabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Order SQL updates by primary key: disabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
情報: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
2005/12/01 9:09:43 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
情報: Using ASTQueryTranslatorFactory
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Query language substitutions: {}
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Second-level cache: enabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory buildSettings
情報: Query cache: disabled
2005/12/01 9:09:43 org.hibernate.cfg.SettingsFactory createCacheProvider
情報: Cache provider: org.hibernate.cache.EhCacheProvider
代码虽然看起来很长,可是对于有经验的人来说一下子就应该能看出错在哪里吧,请大家指点迷津!
问题点数:20、回复次数:8Top
1 楼xpzheng(快放假了)回复于 2005-12-01 08:59:44 得分 0
汗。。。。,我不是有经验的人,只能支持一下Top
2 楼diy8187(雞狗豬驢)回复于 2005-12-01 09:12:18 得分 0
hibernate.cfg.xml文件中的property name中的属性用双引号..比如:
<property name="hibernate.connection.url">jdbc:odbc:lee</property>Top
3 楼diy8187(雞狗豬驢)回复于 2005-12-01 09:19:18 得分 0
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
从这个错误中可以知道你的jar包好像用的版本是可能有冲突..Top
4 楼zzll_love(liliang)回复于 2005-12-01 09:19:34 得分 0
好像在xml中单银号和双银号是一样的,问题依旧Top
5 楼zzll_love(liliang)回复于 2005-12-01 09:26:07 得分 0
我用的是struts1.1,hibernate3.0 是不是有冲突啊?Top
6 楼Runningboy007(菜鸟)回复于 2005-12-01 09:41:13 得分 0
ehcache.jar需要加上。你要把hibernate所要的jar加全了。Top
7 楼zzll_love(liliang)回复于 2005-12-01 10:12:39 得分 0
除了antlr.jar
commons-beanutils.jar
commons-collections.jar
commons-digester.jar
commons-fileupload.jar
commons-lang-2.0.jar
commons-logging.jar
commons-validator.jar
dom4j-1.6.1.jar
hibernate3.jar
jakarta-oro.jar
struts.jar
servlet-api.jar
还有刚才的
ehcache.jar 还应该需要什么啊?Top
8 楼zzll_love(liliang)回复于 2005-12-01 11:09:25 得分 0
请问能不能一起把这些包下载下来啊,这么一个一个下载麻烦了,而且有的包在开源网站上根本就没有下载的地方 例如antlr.jar
asm.jar
asm-attrs.jars
Top




