我在哪里把META-INF放在Eclipse中?

时间:2012-04-03 17:29:31

标签: eclipse kundera

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

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

没有合理的理由说明简单的文件路径应该很难配置。我正在寻找一个简单问题的简单答案。

4 个答案:

答案 0 :(得分:32)

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

在运行时,在META-INF下的类路径中搜索persistence.xml文件。因此,如果您希望将META-INF文件夹放在已编译包树的顶部,则需要将其放在源树的顶部。 Eclipse将每个非Java文件复制到其输出目录(默认情况下为bin),与包/文件夹层次结构相关。

答案 1 :(得分:19)

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

答案 2 :(得分:10)

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

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

在resources目录下创建META-INF文件夹并使用persistence.xml文件正确加载entityMangerFactory bean后,

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

以上行正确读取路径。

答案 3 :(得分:3)

如果您使用的是Eclipse,请右键单击“src”文件夹,选择“Build Path”,然后选择“Use as Source Folder”