为什么动态Web项目在webapp文件夹下创建meta-inf?

时间:2014-07-29 00:07:46

标签: java eclipse jpa web meta-inf

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

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

1 个答案:

答案 0 :(得分:0)

  

"我读到Meta-inf应放在src / main / resources"

不一定。但你是对的,它应该在类路径上。使用src / main / resources,其中的所有内容(使用maven)都放在类路径上,而不需要资源/。请记住,动态Web项目类型不是Maven类型的项目(尽管如果需要可以轻松实现)。

  

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

是的,就像Manifest一样,就像任何其他jar一样。不是类路径的META-INF

  

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

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

  1. 右键单击您的项目并转到属性。
  2. 查找项目构面单击它,然后选择JPA
  3. 底部可能有链接以获取更多配置。点击它
  4. 根据JPA实现,您应该相应地在此对话框中配置实现。
  5. 完成后,您应该在src中看到META-INF,并为您创建了persistence.xml。
  6. the javaee tutorial on persistence。它声明:

      

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

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