JavaEclipse不识别持久性的内容。xml
我在eclipse中遇到以下错误:
坚持。xml文件没有可识别的内容
我的坚持。xml文件在我的应用程序中工作得很好,但eclipse总是给我这个错误。我在移动文件并用m2eclipse更新项目配置后得到了这个结果。我没有更改文件本身。有人知道怎么解决这个问题吗
坚持。xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="localDB" transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>package.Users</class>
<properties>
<!-- enable warnings for debugging -->
<property name="openjpa.Log" value="DefaultLevel=TRACE, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
<!-- connection properties -->
<property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost/test"/>
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
<property name="openjpa.ConnectionUserName" value="root"/>
<property name="openjpa.ConnectionPassword" value=""/>
</properties>
</persistence-unit>
</persistence>
更新
看起来像是m2eclipse和jpa组合中的一个bug
https://bugs.eclipse.org/bugs/show_bug.cgi?id=251323
通过将选项设置为将其显示为警告而不是错误,暂时解决了此问题
# 1 楼答案
我在Eclipse3.6(Helios)中也遇到了同样的问题。原因是JPA方面被设置为JPA版本1.0,然而我的持久性。xml文件指定了JPA版本2。因此,我将JPA方面更改为2.0版,问题就消失了。(项目-->;属性-->;项目方面-->;“配置”下拉列表-->;将其设置为“最小JPA 2.0配置”
# 2 楼答案
将此错误转化为警告可能会使问题消失,但它不会修复Eclipse Dali插件的潜在问题。这也意味着非常有用的JPA结构和JPA细节视图将无法工作
OP提供的链接和这里大多数答案的方法实际上是为了绕过一个不同的问题,Maven想要过滤持久性。xml文件,从而告诉Eclipse忽略它。解决这个问题的一个可行方法是here,它涉及从项目属性的类路径中的src/main/resources条目中删除exclused:**
回到OP最初的问题,我收到了完全相同的错误消息(它本身告诉您persistence.xml文件已经找到)。对我来说,解决方案是将持久性XML元素改为:
为此:
一旦改变,错误就消失了,达利立刻活跃起来,现在一切正常。希望有一天这能帮助别人
# 3 楼答案
为我工作
# 4 楼答案
我通过以下方式解决了这个问题(我使用的是RAD v8.5.1):
# 5 楼答案
我知道问题出在哪里了。。。。JPA方面假设META-INF文件夹直接位于源文件夹下。如果您使用的是Maven项目,那么很可能有src/main/resources或src/test/resources之类的内容。如果你坚持下去。xml在这些文件夹下,它会抱怨。如果您创建一个新的源文件夹(称之为“jpa”)并创建META-INF/持久性。xml,然后它会成功地找到它。(我还必须做一个干净/关闭/打开的项目)
这当然是一种痛苦。。。。我可以看到很多情况下,这不会很好地工作
# 6 楼答案
也有同样的错误
通过在eclipse中编辑文件修复,任何编辑都可以。保存后,错误消失了