Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse does not recognize content of persistence.xml

Im getting the following error in eclipse:

The persistence.xml file does not have recognized content.

My persistence.xml file works great in my application but eclipse keeps giving me this error. I got this after moving the file and updating my project configuration with m2eclipse. I did not change the file itself. Anyone knows how to solve this?

persistence.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>

Update

Looks like a bug in m2eclipse in combination with jpa.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=251323

Temporarily solved by setting the option to show it as a warning instead of an error

like image 643
Mark Baijens Avatar asked Sep 13 '10 15:09

Mark Baijens


People also ask

Where is my persistence xml?

If you package the persistence unit as a set of classes in a WAR file, persistence. xml should be located in the WAR file's WEB-INF/classes/META-INF directory.

Is persistence xml required for JPA?

While Spring applications can bootstrap without needing an XML JPA configuration file, it's still important to understand the meaning of each configuration option since Spring also offers an alternative way when building a Java Persistence LocalContainerEntityManagerFactoryBean or the Hibernate-specific ...

What is persistent xml?

The persistence. xml file is a standard configuration file in JPA. It has to be included in the META-INF directory inside the JAR file that contains the entity beans. The persistence. xml file must define a persistence-unit with a unique name in the current scoped classloader.


3 Answers

I fixed the problem the following way (I'm using RAD v8.5.1):

  1. Windows --> Preferences --> Validation
  2. Scroll down to "JPA Validator" and click on the Ellipses under Settings.
  3. Click on the "Add Include Group..." button.
  4. Click on the new Include Group that appeared to highlight it.
  5. Click on the "Add Rule..." button.
  6. A dialog menu pops up. Click the "Folder or file name" radio button and click on "Next".
  7. Click on "Browse Folder..." and navigate to your src directory (in my case, it was "src/main/resources") within your project (my project was a .war in a multi module app) in your workspace.
  8. Click on "Finish".
  9. Click on "OK". This will prompt a full build.
  10. The error will go away.
like image 121
Chris Harris Avatar answered Oct 20 '22 21:10

Chris Harris


Had same problem with error

The persistence.xml file does not have recognized content

Fixed by editing file in eclipse, any edit will do. And after saving error got away.

like image 33
YoK Avatar answered Oct 20 '22 20:10

YoK


<persistence 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"
version="2.0">

Worked for me!

like image 17
Rick Avatar answered Oct 20 '22 19:10

Rick