Java EntityManager-postgresql数据库没有持久性提供程序

Java EntityManager-postgresql数据库没有持久性提供程序,java,postgresql,jpa,pom.xml,persistence.xml,Java,Postgresql,Jpa,Pom.xml,Persistence.xml,我一直在尝试连接到PostgreSQL数据库并调用常规namedQuery,但这是我遇到的错误: 线程“main”javax.persistence.PersistenceException中的异常:没有名为Userdata的EntityManager的持久性提供程序 位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:85) 位于javax.persistence.persistence.cre

我一直在尝试连接到PostgreSQL数据库并调用常规namedQuery,但这是我遇到的错误:

线程“main”javax.persistence.PersistenceException中的异常:没有名为Userdata的EntityManager的持久性提供程序 位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:85) 位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:54) 位于repository.User.(User.java:26) 位于repository.User.main(User.java:34) 命令执行失败。 org.apache.commons.exec.ExecuteException:进程退出时出现错误:1(退出值:1) 位于org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404) 位于org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) 位于org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:764) 位于org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:711) 位于org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:289) 位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 位于org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 位于org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 位于org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 位于org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) 位于org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 位于org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于org.codehaus.plexus.classworlds.launcher.launcher.launchEnhanced(launcher.java:289) 位于org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:229) 位于org.codehaus.plexus.classworlds.launcher.launcher.mainWithExitCode(launcher.java:415) 位于org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:356) ------------------------------------------------------------------------

导致此错误的行如下所示:

EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("Userdata");
EntityManager em = entityManagerFactory.createEntityManager();
而Userdata是一个包含多个命名查询的数据库实体

我的持久性或pom.xml肯定有问题,但我没能找出问题所在

这就是我的坚持:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="com.mycompany_Uppgift_jar_1.0-SNAPSHOTPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <!-- provider>org.hibernate.jpa.HibernatePersistenceProvider</provider-->
    <class>pers.Userdata</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/mydb"/>
      <property name="javax.persistence.jdbc.user" value="admin"/>
      <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
      <property name="javax.persistence.jdbc.password" value="admin"/>
    </properties>
  </persistence-unit>
</persistence>

org.eclipse.persistence.jpa.PersistenceProvider
pers.Userdata
这是我的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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>com.mycompany</groupId>
    <artifactId>Uppgift</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencies>



    <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>1.0.0.RELEASE</version>
    </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot</artifactId>
            <version>2.2.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.core</artifactId>
            <version>2.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.asm</artifactId>
            <version>2.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.antlr</artifactId>
            <version>2.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa</artifactId>
            <version>2.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
            <version>2.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>javax.persistence</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
            <version>2.5.2</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.4.9.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.9.Final</version>
        </dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.persistence/eclipselink -->
<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.5.0</version>
</dependency>

    </dependencies>
</project>

4.0.0
com.mycompany
礼物
1.0-快照
罐子
UTF-8
1.8
1.8
org.springframework.data
spring数据jpa
1.0.0.1版本
org.springframework.boot
弹簧靴
2.2.1.发布
org.eclipse.persistence
org.eclipse.persistence.core
2.5.2
org.eclipse.persistence
org.eclipse.persistence.asm
2.5.2
org.eclipse.persistence
org.eclipse.persistence.antlr
2.5.2
org.eclipse.persistence
org.eclipse.persistence.jpa
2.5.2
org.eclipse.persistence
org.eclipse.persistence.jpa.jpql
2.5.2
org.eclipse.persistence
javax.persistence
2.1.0
org.eclipse.persistence
org.eclipse.persistence.jpa.modelgen.processor
2.5.2
假如
org.hibernate
冬眠核心
5.4.9.最终版本
org.hibernate
休眠实体管理器
5.4.9.最终版本
org.eclipse.persistence
日食
2.5.0
到目前为止,我所尝试的一切都失败了


提前感谢您,

声明的持久化单元的名称是“com.mycompany\u Uppgift\u jar\u 1.0-SNAPSHOTPU”,而不是“Userdata”。我甚至没有注意到。非常感谢你!