我使用Hibernate 4.1 GWT应用上码头1.6 运行得到了下一个代码,以便启动hib.instance:Hibernate无法读取hibernate.cfg.xml中
Configuration configuration = new Configuration().configure(ABS_PATH_TO_CONFIG+File.separator+"hibernate.cfg.xml");
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
第一行给了我一个错误:
org.hibernate.HibernateException: ...hibernate.cfg.xml not found
at org.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)
但我只是装载hib.config前检查hibernate.cfg.xml
可用性:
File conf = new File(ABS_PATH_TO_CONFIG+File.separator+"hibernate.cfg.xml");
System.out.println(conf.canRead());
Sysout返回true。
展望的ConfigHelper.getResourceAsStream
源在其断点:
InputStream stream = null;
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
if (classLoader!=null) {
stream = classLoader.getResourceAsStream(stripped);
}
if (stream == null) {
stream = Environment.class.getResourceAsStream(resource);
}
if (stream == null) {
stream = Environment.class.getClassLoader().getResourceAsStream(stripped);
}
if (stream == null) {
throw new HibernateException(resource + " not found");
}
我做错了(不明白的地方),或它在这里真的没有XML装载机?
从中jar文件是否可以导入PropertiesUtil类..? – pudaykiran
PropertiesUtil只是我的属性文件util-class,它不是绝对的,classpath中的任何类都可以,例如当前类。这只是为了获得classloader路径。 –