Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA没有EntityManager的持久性提供程序_Java_Jpa_Eclipselink - Fatal编程技术网

Java JPA没有EntityManager的持久性提供程序

Java JPA没有EntityManager的持久性提供程序,java,jpa,eclipselink,Java,Jpa,Eclipselink,我知道在这个问题上还有其他一些问题,但没有一个答案是有效的。 我是JPA新手,我使用EclipseLink作为实现,Eclipse作为IDE。 这是我的persistence.xml(它在META-INF文件夹中): 在运行时,我遇到以下错误: javax.persistence.PersistenceException:没有名为DBService的EntityManager的持久性提供程序 我遵循了教程中的步骤,但没有结果 编辑:我还将这些jar添加到WEB-INF/lib中:eclipsel

我知道在这个问题上还有其他一些问题,但没有一个答案是有效的。 我是JPA新手,我使用EclipseLink作为实现,Eclipse作为IDE。 这是我的
persistence.xml
(它在META-INF文件夹中):

在运行时,我遇到以下错误:
javax.persistence.PersistenceException:没有名为DBService的EntityManager的持久性提供程序

我遵循了教程中的步骤,但没有结果


编辑:我还将这些jar添加到WEB-INF/lib中:
eclipselink.jar;javax.persistence_2.0.3.v201010191057.jar;mysql-connector-java-5.1.17-bin.jar
,将JPA添加到
项目方面
,但没有看到任何结果…

将persistence.xml放在war文件的META-INF目录中。另外,在lib目录和classes目录中放置一个副本

我在工作中使用eclipselink,使用一个独立的jar包,其中包含我的实体类,一个带有persistence.xml的MET-INF目录,它工作得很好

可能您需要创建一个包含实体类的jar文件,外加一个MET-INF/persistence.xml,并将这个jar文件添加到lib目录中,以及eclipseelink.jar


要检查的另一件事是RESOURCE-LOCAL,如果您在web应用程序中使用JPA,没有实体bean组件,或者在独立应用程序中使用JPA,则应使用此选项。

将persistence.xml放在war文件的META-INF目录中。另外,在lib目录和classes目录中放置一个副本

我在工作中使用eclipselink,使用一个独立的jar包,其中包含我的实体类,一个带有persistence.xml的MET-INF目录,它工作得很好

可能您需要创建一个包含实体类的jar文件,外加一个MET-INF/persistence.xml,并将这个jar文件添加到lib目录中,以及eclipseelink.jar


另一个需要检查的是RESOURCE-LOCAL,如果您在没有实体bean组件的web应用程序中使用JPA,或者在独立应用程序中使用JPA,则应使用此选项。

您必须将persistence.xml放入META-INF中,并使用小写字母编写persistence.xml

我想你写的是第一封信或是一些大写字母的信,我也有这个错误。
您必须完全按照以下方式编写:persistence.xml您必须将persistence.xml放入META-INF中,并使用小写字母编写persistence.xml

我想你写的是第一封信或是一些大写字母的信,我也有这个错误。

您必须这样编写:persistence.xml

如何打包应用程序。它是一个独立的应用程序或*.war,您在application server中运行吗?您的
persistence.xml
在目录结构中的确切位置是什么?@PiotrNowicki我正在使用EclipseIDEforJavaEE。我已经创建了一个动态Web项目,并且这个文件夹是自动创建的。因此,如果您在
Web-INF/classes/META-INF/persistence.xml
中使用*.war-是您的
persistence.xml
?是的,现在我确定它应该在哪里。您如何打包应用程序。它是一个独立的应用程序或*.war,您在application server中运行吗?您的
persistence.xml
在目录结构中的确切位置是什么?@PiotrNowicki我正在使用EclipseIDEforJavaEE。我已经创建了一个动态Web项目,这个文件夹是自动创建的。因此,如果您在
Web-INF/classes/META-INF/persistence.xml
中使用*.war-是您的
persistence.xml
?是的,现在我确定它应该在哪里。我已经将JPA添加到项目方面,所以现在应该重新认识它。我甚至在src中有一个META-INF文件夹。你在使用什么web容器?好的,我不知道glassfish,但它可能是一个雅加达tomcat,所以没关系。好吧,我不知道玻璃鱼,但它可能是一只藏在引擎盖下的雅加达雄猫,所以没关系。我建议你把事情恢复到最基本的层面。尝试一个包含一个实体类的jar文件和META-INF/persistence.xml,删除persistence.xml的其他“springs”,当您创建jar文件时,将其添加到WEB-INF/lib目录中,看看是否有效,您还应该确保WEB-INF/lib文件夹中也包含您依赖的java JPA jar文件,它应该是容器库的一部分,但只需将其添加到此处以确保其被提取。是的,您是对的,这是由于
persistence.xml
的位置有问题,当我找到它时,出现了命名问题(缺乏注意)。谢谢我已经将JPA添加到项目方面,所以现在应该重新命名它。我甚至在src中有一个META-INF文件夹。你在使用什么web容器?好的,我不知道glassfish,但它可能是一个雅加达tomcat,所以没关系。好吧,我不知道玻璃鱼,但它可能是一只藏在引擎盖下的雅加达雄猫,所以没关系。我建议你把事情恢复到最基本的层面。尝试一个包含一个实体类的jar文件和META-INF/persistence.xml,删除persistence.xml的其他“springs”,当您创建jar文件时,将其添加到WEB-INF/lib目录中,看看是否有效,您还应该确保WEB-INF/lib文件夹中也包含您依赖的java JPA jar文件,它应该是容器库的一部分,但只需将其添加到此处以确保其被提取。是的,您是对的,这是由于
persistence.xml
的位置有问题,当我找到它时,出现了命名问题(缺乏注意)。谢谢
<?xml version="1.0" encoding="UTF-8" ?>
<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" xmlns="http://java.sun.com/xml/ns/persistence">

    <persistence-unit name="DBService" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

        <class>com.maze.model.EventModel</class>
        <class>com.maze.model.StoryModel</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mazedb;create=true" />
            <property name="javax.persistence.jdbc.user" value="user" />
            <property name="javax.persistence.jdbc.password" value="pass" />

            <!-- EclipseLink should create the database schema automatically -->
            <property name="eclipselink.ddl-generation" value="create-tables" />
            <property name="eclipselink.ddl-generation.output-mode" value="database" />
        </properties>
    </persistence-unit>

</persistence>
private EntityManagerFactory emf;
emf = Persistence.createEntityManagerFactory("DBService");