对于我的项目必要性我将一个核心项目中的所有persistence.xml条目重新组合,我将其绑定为maven依赖项。
问题是eclipse IDE总是抱怨
No persistence.xml file found in project
有没有让日食保持沉默?感谢
答案 0 :(得分:57)
感谢sionnach733让我走上正确的道路
答案 1 :(得分:14)
Window->Preferences->Java Persistence-> JPA-> Errors/warnings-> Project
然后将其从错误更改为您喜欢的任何内容(警告/信息/忽略)。如果您不希望它影响其他项目,您也可以选择配置项目特定设置
答案 2 :(得分:9)
如果在不需要JPA方面的Maven项目上发生此错误,您可以通过在pom中设置以下属性来告诉m2e不应用JPA激活(实质上,不是在项目配置期间添加JPA方面) .xml受影响的项目:
<properties>
<m2e.jpa.activation>false</m2e.jpa.activation>
</properties>
如果您在现有CTRL-SPACE
标记内按<properties>
,则在pom.xml源代码中,content-assist将提供创建该属性的快捷方式,因此您不必非常记住语法,只是内容辅助就在那里......;)
应用该属性后,请确保在相关项目上运行Maven -> Update Project (Alt-F5)
。您可能需要使用“项目属性”页面手动从受影响的项目中删除一次JPA方面。
对于那些想知道为什么m2e认为首先需要添加JPA方面的人:这是由m2e / WTP eclipse插件中的JpaProjectConfigurator
类处理的,可以通过实现factet探测器来定制(所有人都必须扩展AbstractFacetDetector
类并在org.eclipse.m2e.wtp.facetDetectors
扩展点注册它们。因此,可能会通过您已安装的插件或Eclipse m2e / WTP功能中内置的默认检测来激活方面,该功能基本上会查找现有的persistence.xml
或orm.xml
文件或项目中的JPA提供者库&#39;类路径。当业务逻辑工件依赖于我的持久层工件(工作区分辨率已启用,这可能是问题的一部分)具有META-INF/persistence.xml
,而业务逻辑工件没有依赖时,我就会发生这种情况。吨。
有关详细信息,请参阅M2E-WTP/New and Noteworthy/1.0.0和The rg.eclipse.m2e.wtp.jpa.internal.configurators.JpaProjectConfigurator source code。
恕我直言,接受的答案是没有好的建议,因为错误只是将错误严重性设置为&#34;忽略&#34;,因为Eclipse不会对项目发出警告 确实是JPA项目因此具有/需要JPA方面,因此应该在预期位置提供persistence.xml
(命名和位置对于Java EE环境中部署的工件很重要)。
此外,通过实际正确配置非JPA项目(即没有多余的JPA方面),Eclipse不会浪费时间在项目上运行JPA验证和JPA变更监控。您可能已经在Progress视图中注意到了JPA Project Change Event Handler (waiting)
(特别是在工作区中有多个JPA项目时)。当JPA方面被移除时,这些不再适用于不需要JPA的项目。
答案 3 :(得分:6)
这个问题的所有其他答案都是通过愚弄 Eclipse而不是抱怨错误来处理问题。
问题的正确解决方法是从项目中删除JPA Facet。您可以通过在Project Explorer中右键单击项目,从菜单中选择Properties来实现。从那里,转到“Project Facets”,并确保取消选中JPA条目。单击Apply,然后单击OK。转到“项目”菜单,然后选择“清理”。这将消除虚假错误。
答案 4 :(得分:5)
我通过禁用Java项目的JPA方面来解决这个问题。
答案 5 :(得分:0)
1. go to .setting directory of the project
2. modify org.eclipse.wst.common.project.facet.core.xml
remove the following:
<installed facet="jpt.jpa" version="2.0"/>
3. Refresh the project
干杯!!!
答案 6 :(得分:0)
我有具有以下规格的 Eclipse 平台: 版本:光子 (4.8) 版本号:I20180611-0500
我首先检查方面:
答案 7 :(得分:-1)
我认为你已经配置了JPA透视图。
我刚刚在src / main / java / META-INF中创建了一个“空”的persistence.xml。 它会被maven看到,所以永远不会进一步......这是一个黑客,我知道,但它的确有效......