0

我读到 Meta-inf 应该放在 src/main/resources 下。当我在 Eclipse 中创建一个动态 Web 项目时,我似乎将 Meta-Inf 与 Web-Inf 放在了 webapp 文件夹下。

Meta-Inf 的正确位置在哪里?它必须在类路径上吗?我需要配置一个 persistence.xml 文件,不确定这是否有任何区别。

4

1 回答 1

0

“我读到 Meta-inf 应该放在 src/main/resources 下”

不必要。但你是对的,它应该在类路径上。使用 src/main/resources,其中的所有内容(使用 maven)都会放在类路径中,而没有resources/。请记住,Dynamic Web Project 类型不是 Maven 类型的项目(尽管如果需要也可以轻松制作)。

“当我在 Eclipse 中创建动态 Web 项目时,我似乎将 Meta-Inf 与 Web-Inf 放在了 webapp 文件夹下。”

是的,这适用于 Manifest,就像任何其他罐子一样。不是类路径的 META-INF

“我需要配置一个 persistence.xml 文件”

您可以手动创建 META_INF 并将其放在 src 中(除非您将其转换为 maven 项目,否则没有主/资源)。但是,将 JPA 配置到动态 Web 项目中的最简单方法是:

  1. 右键单击您的项目并转到属性。
  2. 找到项目方面单击它,然后选择 JPA
  3. 底部可能有更多配置的链接。点击它
  4. 根据 JPA 实现,您应该在此对话框中相应地配置实现。
  5. 完成后,您应该会在 src 中看到 META-INF,其中包含为您创建的 persistence.xml。

请参阅有关持久性的 javaee 教程。它指出:

如果将持久性单元打包为 WAR 文件中的一组类,persistence.xml 应该位于 WAR 文件的 WEB-INF/classes/META-INF 目录中。

如果您打开导航器视图(Windows -> 显示视图 -> 导航器),您将看到带有 classes/META-INF/persistence.xml 的构建目录

于 2014-07-29T02:06:02.883 回答