我知道关于这个问题还有其他问题,但没有一个解决方案对我有用。我正在使用maven在eclipse中构建一个java项目,我在src / main / resource / META_INF文件夹中有我的persistence.xml文件。但是当我尝试安装mvn时,我总是遇到这个错误:
No Persistence provider for EntityManager named plasma.persistence
查看控制台输出,似乎是由此引起的:
[org.hibernate.jpa.boot.internal.PersistenceXmlParser] - HHH000318: Could not find any META-INF/persistence.xml file in the classpath
这是我的persistence.xml文件:
<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="plasma.persistence" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.dialect" value="org.hibernate.spatial.dialect.postgis.PostgisDialect"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432:xxxxx"/>
<property name="hibernate.connection.username" value="xxxxx"/>
<property name="hibernate.connection.password" value="xxxxx"/>
<property name="hibernate.connection.pool_size" value="5"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.max_fetch_depth" value="5"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
我尝试右键单击项目并将META_INF文件夹添加到构建路径,但它仍然无效。有什么想法吗?
答案 0 :(得分:32)
持久性文件的正确主页应该是src / main / resources / META-INF。在这个问题中,你提到了src / main / resource / META_INF。请注意,应该有一个&#39;在资源和短划线( - )在META-INF,而不是下划线。那些问题只是错别字吗?如果没有,请修复路径,它应该可以工作。
答案 1 :(得分:3)
我把一个exclude和maven停下来放置persistence.xml。我不得不用残酷的力量来解决问题:
{{1}}