Hibernate虽然存在但不会找到文件

时间:2015-05-14 09:53:12

标签: java hibernate

所以我遇到了hibernate的问题,因为它不知何故不再起作用了。 不知怎的,它工作了很长时间,现在它停止了工作。所以我要么愚蠢也要盲目。或两者? :P 所以这是我的代码:

configFile = System.getProperty("user.dir");
configFile += File.separator + "src"
           + File.separator + "main"
           + File.separator + "resources"
           + File.separator;

configFile += "hibernate.cfg.xml";
File file = new File(configFile);
System.out.println(file.exists());
System.out.println(file.getAbsolutePath());
Configuration configuration = new Configuration();
configuration.configure(configFile);

控制台甚至说该文件存在:

true
/Users/Bernhard1/Dropbox/Ausgaben2/src/main/resources/hibernate.cfg.xml

但我得到了这个例外:

Exception in thread "main" org.hibernate.HibernateException: /Users/Bernhard1/Dropbox/Ausgaben2/src/main/resources/hibernate.cfg.xml not found

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

Just use:
configuration.configure("hibernate.cfg.xml");
And give it a try.
Hibernate will pick this file up from resources folder.

答案 1 :(得分:0)

如果您正在使用Maven项目,那么只需尝试加载这样的文件:

Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");

假设它是Maven项目,那么该文件将被放置在类target/classes目录的类路径的根目录中。

Hibernate从类路径的根目录中查找文件,然后它应该可以工作。 Hibernate不会尝试根据您尝试的绝对路径查找文件,这是不正确的。