|
运行环境如下:Eclipse 3.2.2,Hibernate 3.2,Spring 2.0.3,Java 1.6,MySQL 5.0,OS:Windows Server 2003(Enterprise Edition)
1.Eclipse 3.2.2是目前最新的release,但遗憾的是它并不是一个足够稳定的版本,时常会出现一些低级的错误,例如在将“Hello World”这般最简单的只包含一句话的程序Run as application时,也可能提示无法找到main()函数,而把Eclipse重启一次也许就OK。再如,时常提示某个class无法编译,事实上这个class在几分钟前刚刚运行过,之后无非是增加了几行注释而已,反复几次都可能出现这样的错误提示,即便怀着侥幸的心理装上MyEclipse之后,情况依然没有得到改观。无奈间,重启电脑,再编译,一切又正常。有何道理吗?没有。
2.在Eclipse里运行与Hibernate相关的对象持久化操作时,可能会提示无法找到javax.transaction. Synchronization这个类,由于没有安装Java EE SDK(如果装了,这个类在javaee.jar里面),那么只有引用Hibernate相应的jar,这个class包含在jta.jar里,此文件可以在Hibernate的lib目录下找到,将此文件复制到Eclipse相应workspace下的WEB-INF\lib目录下,而后在Eclipse workspace属性中将之作为external JAR加入Java Build Path即可。
3.为了防止出现类似的NoClassDefFoundError出现,建议将Hibernate的lib目录下的所有jar文件,当然也包括根目录下hibernate3.jar全部拷贝到Eclipse的WEB-INF\lib下,并全部加入Java Build Path。
4.如果在创建Hibernate的SessionFactory时,如果在configure()方法中没有指定 配置文件hibernate.cfg.xml文件的路径,例如: SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory(); 则Eclipse缺省认为放在工作空间的WEB-INF\classes目录下。有的书上写放在WEB-INF\src下,这会给人误导。至于映射文件hmb.xml的路径则在hibernate.cfg.xml自行定义。
|
一共有 1 条评论