在运行单元测试时,我会遇到这两个错误
org.hibernate.jpa.boot.internal.PersistenceXmlParser doResolve INFO:HHH000318:在类路径中找不到任何META-INF / persistence.xml文件
和
javax.persistence.PersistenceException:名为dbContext的EntityManager的持久性提供程序
我都没有得到它们,因为正如您在该文本下方的图像en persistence.xml文件中所看到的那样,他所抱怨的一切都在那里。
这是我的persistance.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="dbContext">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.url" value="{urltodb}"/>
<property name="hibernate.connection.autocommit" value="false"/>
<property name="hibernate.connection.username" value="{myusername}"/>
<property name="hibernate.connection.password" value="{mypassword}"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
<property name="hibernate.connection.CharSet" value="utf8"/>
<property name="hibernate.connection.characterEncoding" value="utf8"/>
<property name="hibernate.connection.useUnicode" value="true"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>
答案 0 :(得分:1)
您的文件夹结构完全混乱:
src
-文件夹被标记为源文件夹(蓝色),因此子文件夹main被解释为Java-Package sources/main
文件夹中,这就是Intellij将其解释为软件包main.resources.META-INF
的原因。您的文件夹结构应如下所示: