Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate找不到文件,尽管它存在_Java_Hibernate - Fatal编程技术网

Java Hibernate找不到文件,尽管它存在

Java Hibernate找不到文件,尽管它存在,java,hibernate,Java,Hibernate,所以我对hibernate有一个问题,因为它不知何故不再工作了。 不知怎的,它工作了很长时间,现在停止了工作。所以我不是哑巴就是瞎子。还是两者都有P 这是我的代码: configFile = System.getProperty("user.dir"); configFile += File.separator + "src" + File.separator + "main" + File.separator + "resources"

所以我对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

有什么想法吗?

如果您使用的是Maven project,请尝试按如下方式加载文件:

Just use: configuration.configure("hibernate.cfg.xml"); And give it a try. Hibernate will pick this file up from resources folder.
Configuration configuration = new Configuration();
configuration.configure("hibernate.cfg.xml");
假设它是Maven项目,那么该文件将被放置在类路径的根目录中,即target/classes目录


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

谢谢您的回复,但我仍然收到相同的错误。您可以将此文件放在src目录下并重试吗?通常,它从src目录获取相对路径。如果您将资源目录标记为resources Root,则只需提及其名称即可提取该文件。Hibernate从您的类路径中查找该文件,那么您为什么尝试给出该文件的确切位置?我已经试过了,这是无效的。我在线程main org.hibernate.HibernateException中得到了相同的错误异常:hibernate.cfg.xml不是found@user2529173,用您尝试过的代码更新您的问题。此外,您还没有确认您正在使用Maven。我的答案是假设您正在使用maven并在Eclipse等IDE上运行该程序