31

我在https://github.com/impetus-opensource/Kundera/wiki/Getting-Started-in-5-minutes使用昆德拉教程。当我在项目根目录创建文件夹 META-INF 并将 persistence.xml 放入其中时,Eclipse 没有找到它。

我进行了快速搜索,并没有发布真正的解决方案。

简单的文件路径难以配置是没有正当理由的。我正在寻找一个简单的答案来解决应该是一个简单的问题。

4

4 回答 4

38

它不应该在项目根目录下,而是直接在源文件夹下。

在运行时,将在 META-INF 下的类路径中搜索 persistence.xml 文件。所以如果你想让META-INF文件夹放在编译包树的顶部,你需要把它放在源代码树的顶部。Eclipse 将每个非 Java 文件复制到其输出目录(默认为 bin),尊重包/文件夹层次结构。

于 2012-04-03T17:36:52.397 回答
25

基本上它必须在你的类路径中(下/META-INF/)。您可以通过配置属性在 eclipse 中手动启用它。如果您的项目是基于 maven 的,那么应该从/src/main/resources/META-INF/文件夹中自动选择它(提供的实体在同一引擎盖下)。

于 2012-04-17T12:56:29.090 回答
12

它应该在src/main/resources目录下,

完整路径将是/src/main/resources/META-INF/persistence.xml

在资源目录下创建 META-INF 文件夹并有一个 persistence.xml 文件正确加载 entityMangerFactory bean后,

<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" />

上面的行正确读取了路径。

于 2015-06-29T14:36:22.080 回答
2

如果您使用的是 Eclipse,请右键单击“src”文件夹,选择“构建路径”,然后选择“用作源文件夹”

于 2013-10-23T00:00:23.017 回答