以下是事实:
<jar-file>/WEB-INF/lib/MyJarB.jar</jar-file>
放在jar A 但是我不想对 /WEB-INF/lib/MyJarB.jar 进行硬编码,因为我可以在测试环境中测试实体,并希望有另一种方法来指定实体jar除了硬编码路径之外的依赖关系。
我尝试了<jar-file>MyJarB.jar</jar-file>
和<jar-file>./MyJarB.jar</jar-file>
,但都失败了。
请分享您的想法。
答案 0 :(得分:3)
仅为纯测试创建另一个persistence.xml
,并将其放在项目B本身或另一个包含测试类的子项目中。
答案 1 :(得分:1)
我建议不要将persistence.xml
与JAR放在一起,因为持久性定义是应用程序关注的问题。因此,最好在 web 模块中设置persistence.xml
,同时声明两个JAR:
<jar-file>/WEB-INF/lib/MyJarA.jar</jar-file>
<jar-file>/WEB-INF/lib/MyJarB.jar</jar-file>
如果你在web模块中有测试,并且你想使用另一个persistece定义,只需创建一个备用persistence.xml,比如src/test/resources
,然后使用它来实例化你的EntityManagerFactory。