Eclipse Maven Project中找不到persistence.xml

Jua*_*013 5 java eclipse jpa persistence.xml maven

我无法修复persistence.xml file not foundeclipse问题,这是一个简单的测试项目(Maven Nature),用于非常基本的EJB测试,该文件确实在src/main/resources/META-INF/...这是pom.xml的内容.尝试将文件夹添加到项目的构建路径,更新maven项目.到目前为止没有运气,任何帮助将不胜感激,谢谢!

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>LibEE</groupId>
  <artifactId>LibEE</artifactId>
  <packaging>jar</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>

      <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest>
<mainClass>main.resources.Main</mainClass>

</manifest>
</archive>
</configuration>
</plugin>
   </plugins>
  </build>

  <dependencies>
    <dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>javax.persistence</artifactId>
    <version>2.1.0</version>
    </dependency>

     <dependency>
    <groupId>org.ow2.spec.ee</groupId>
    <artifactId>ow2-ejb-3.0-spec</artifactId>
    <version>1.0.13</version>
</dependency>

<dependency>
<groupId>org.glassfish.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>


  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

这是persistence.xml:

    <?xml version="1.0" encoding="UTF-8"?>
<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">

<persistence-unit name="LibEE" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>jdbc/LibEE</jta-data-source> <!-- Refers to data source in Enterprise server -->
    <class>main.java.entities.Book</class>
<properties>
    <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
    <property name="eclipselink.logging.level" value="INFO"/>
</properties>


</persistence-unit>

</persistence>
Run Code Online (Sandbox Code Playgroud)

She*_*her 9

必须将persistence.xml文件添加到类路径以解决此问题.

请尝试以下方法:

  1. 创建/更新目录src/main/resources/META-INF,将persistence.xml文件放在此处

  2. 运行Maven->更新项目配置

  3. 通过在Eclipse IDE> Properties> Java Build Path> Source选项卡中右键单击项目,验证是否已将src/main/resources添加到源文件夹(Java Resources).你会在这里找到/ src/main/resources.

  4. 选择Maven->更新项目配置或Project-> Clean

  5. 如果您构建应用程序,请检查目标// WEB-INF/classes/META-INF/persistence.xml下的persistence.xml文件(或者您如何配置类路径).

  6. 而已!


小智 0

解决方案 1. 在 pom.xml 中替换<sourceDirectory>src</sourceDirectory><sourceDirectory>src/main/resources</sourceDirectory>

解决方案 2. 在 build 标签下添加此内容

<resources>
        <resource>
            <directory>src</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
 </resources> 
Run Code Online (Sandbox Code Playgroud)

解决方案 3. 在 pom.xml 中删除<sourceDirectory>src</sourceDirectory>然后 maven 将查找默认布局