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



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

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

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

不一定。但是你是对的,它应该在类路径上。对于src/main/resources,这里的所有内容(包括maven)都放在类路径中,而不包含中的资源/。请记住,动态Web项目类型不是Maven类型的项目(尽管如果需要,可以很容易地这样做)。

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

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

的META-INF

" I need to configure a persistence.xml文件"

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

    右键单击你的项目,进入属性。
  1. 查找项目面单击它,并选择JPA
  2. 底部可能有更多配置的链接。点击
  3. 根据JPA实现,您应该在此对话框中相应地配置实现。一旦你完成了,你应该在src中看到META-INF和为你创建的persistence.xml。

请参阅javaee持久性教程。州:

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

如果你打开导航视图(Windows -> show view -> navigator),你会看到构建目录与类/META-INF/persistence.xml

最新更新