为了测试Hibernate/OGM/MongoDB Docker问题,我创建了一个JUnit5测试。
我已经将persistence.xml添加到项目的文件夹中:
SRC/Test/Meta-Inf
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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"
version="2.1">
<persistence-unit name="goStopHandleMongoDBPersistenceUnit" transaction-type="JTA">
<provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
<properties>
<property name="jboss.as.jpa.providerModule" value="org.hibernate:5.3"/>
<property name="wildfly.jpa.hibernate.search.module" value="org.hibernate.search.orm:5.10"/>
<!-- <property name="hibernate.transaction.jta.platform" value="JBossTS"/> -->
<!-- <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAS"/> -->
<property name="hibernate.transaction.jta.platform"
value="org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform"/>
<property name="hibernate.ogm.datastore.provider"
value="org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider"/>
<property name="hibernate.ogm.datastore.grid_dialect"
value="org.hibernate.ogm.datastore.mongodb.MongoDBDialect"/>
<property name="hibernate.ogm.datastore.database" value="goStopHandleDB"/>
<property name="hibernate.ogm.datastore.host" value="172.17.0.2:32844"/>
</properties>
</persistence-unit>
</persistence>
我进入了项目设置和下面:
然而,当我运行测试时,我得到:
Apr 08 2019 2:36:54 PM org.hibernate.jpa.boot.internal.persistenceXMLParser doResolve信息:hhh000318:在类路径中找不到任何Meta-INF/persistence.xml文件Apr 08 2019 2:36:54 PM org.hibernate.jpa.boot.internal.persistenceXMLParser doResolve信息:hhh000318:在类路径中找不到任何Meta-INF/persistence.xml文件
测试已忽略。
PersistenceException:没有名为goStopHandleMongoDBPersistenceUnit的EntityManager的持久性提供程序
为什么没有找到persistence.xml?蒂娅。
使用标准的src/test/resources
资源根目录,特别是如果您使用的是Maven这样的构建系统。
如果persistence.xml
放在src/test/resources/meta-inf/persistence.xml
中,则应该可以工作。
这是我的清单文件 此处为我得错误堆栈跟踪:
我试图添加JPA到我的项目,但总是得到这些错误: 但是当我尝试初始化我的实体管理器时: 我收到了这些错误,但我不明白这是怎么可能的,然后我清楚地将该文件添加到我的数据库中。罐子 坚持不懈xml内容是: 这里可以看到项目和编译的jar的结构(持久性内容更改为2.2版本,如前所述): 我做错了什么? 更新:即使查找命令返回文件存在于正确的目录: 更多更新:我试图从另一个项目复制persistence.
我有3个项目,ProjectB,ProjectC。 当我构建ProjectB时,它没有任何问题。但是当我试图构建ProjectA时,它在控制台上出现以下错误而失败。 评估项目“:ProjectB”时出现问题。在项目:ProjectB中找不到路径为:ProjectC的项目。 build.gradle-ProjectC settings.gradle-ProjectC build.gradle - 项
在Eclipse中,我创建了RCP插件项目。 我还创建了简单的java项目。 我添加了简单的java项目来构建RCP项目的路径。 因此,我能够在RCP中导入和编译代码,但当我启动RCP应用程序时,在到达使用添加的java项目的代码时,我会遇到异常: 如何解决这个问题(无需创建java项目的jar并将其作为库添加到rcp项目中)?
在彻底搜索了这些论坛寻找答案后,我找不到一个类似于我的案例。 在使用maven生成WAR filer并部署我的服务器之后,每次我向需要创建DAO的API发送GET请求时,我都会在服务器控制台收到以下警告: 在类路径中找不到任何meta-inf/persistence.xml文件 和以下例外情况: 没有名为mim_ajuda的EntityManager的持久性提供程序 在进一步讨论之前,我已经搜索了