gpt4 book ai didi

Java - 找不到 hibernate.cfg.xml 文件

转载 作者:可可西里 更新时间:2023-11-01 06:54:15 29 4
gpt4 key购买 nike

我的 hibernate.cfg.xml 位于 src/main/resources/ 但是当我运行我的 maven 项目时我一直收到这个错误,我也试过像这样将文件的路径放入配置中,但仍然出现错误

Configuration conf = new Configuration();  
conf.configure("/src/main/resources/hibernate.cfg.xml");

我做错了什么?

当我转到项目的属性并转到 Source 时,我在构建路径中看到/src/main/resources 了吗?

当我在 eclipse 中创建它时它也会运行,但是当我导出到 jar 时它停止工作但我在类路径中有它,如您所见 enter image description here

谢谢

编辑

这是我在 eclipse 项目中的目录

enter image description here

然后这是我打开 .jar 文件时的样子

enter image description here

你是说 .xml 应该在根目录中?

最佳答案

在你构建的项目中没有/src/main/resources,那是maven在构建之前保存文件的地方。在构建项目时(我假设您正在构建一个 .jar-artifact)maven 将执行以下操作:

  1. src/main/java 中的所有 .java 文件将被编译为 .class 文件,并将移动到 jar< 的子目录中 对应他们的包
  2. src/main/resources 中的所有文件都将被复制到 jar-file 的根目录中

所以你项目中的这个文件结构:

src
|
+-main
|
+-java
| |
| +- mypackage
| |
| +- MyClass.java
|
+-resources
|
+- hibernate.cfg.xml

将像这样在您的 .jar-file 中结束:

project.jar
|
+- mypackage
| |
| +- MyClass.class
|
+- hibernate.cfg.xml

要点是:/src/main/resources 中的所有文件都将在您构建的项目的类路径中结束。但是由于您的配置文件名为 hibernate.cfg.xml 并且位于类路径中,您应该可以这样做

Configuration conf = new Configuration(); 
conf.configure();

请注意,configure() 是在没有参数的情况下调用的,因此这意味着“在您当前的类路径中查找名为 hibernate.cfg.xml 的文件”。因此,请尝试从您的 configure 调用中删除该参数。

关于Java - 找不到 hibernate.cfg.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31731224/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com