Java Junit没有获取persistence.xml EJB3
这是我的结构Java Junit没有获取persistence.xml EJB3,java,junit,ejb,Java,Junit,Ejb,这是我的结构 \jpa \src \resources \META-INF \persistence.xml \oldtests \com TestClass.java \war \oldtests \com TestSuite.java TestClass扩展了BaseTest,我通过测试套件运行它 在测试本身中,我用 public class BaseTest extends TestCase {
\jpa
\src
\resources
\META-INF
\persistence.xml
\oldtests
\com
TestClass.java
\war
\oldtests
\com
TestSuite.java
TestClass扩展了BaseTest,我通过测试套件运行它
在测试本身中,我用
public class BaseTest extends TestCase {
protected EntityManagerFactory emf;
protected EntityManager em;
@Override
protected void setUp() throws Exception {
super.setUp();
emf = Persistence.createEntityManagerFactory("test");
em = emf.createEntityManager();
...
}
...
}
然而,emf总是空的,因此在下一行抛出一个NPE。这让我相信我的persistence.xml由于某种原因没有被使用。有人能帮我解决文件需要放在哪里吗?是否有一个地方我可以确认它不是文件本身的问题(错误配置)
我可以根据要求添加持久性单元,但我怀疑这是个问题,因为我们在其他地方使用了它。此外,我正在使用eclipse运行测试。运行JUnit测试时,需要将
src/resources
目录添加到eclipse类路径中。您可以在项目级别或仅为您的测试运行程序执行此操作。您需要在运行JUnit测试时将src/resources
目录添加到Eclipse类路径中。您可以在项目级别或仅为您的测试运行人员执行此操作。解决此问题所需的步骤如下:
\plugins\*.jar
运行
调试配置
- 接下来,我选择了junit测试套件配置
- 接下来,我选择了classpath选项卡
- 最后,我使用高级选项添加了JPA项目和用户库
这似乎解决了我的问题解决这一问题所需的步骤如下:
\plugins\*.jar
运行
调试配置
- 接下来,我选择了junit测试套件配置
- 接下来,我选择了classpath选项卡
- 最后,我使用高级选项添加了JPA项目和用户库
这似乎解决了我的问题我尝试将META-INF和资源文件(分别)添加到类库中,但是,这没有任何帮助。我仍然看到同样的情况NPE@Jackie-如果您找到了完整的解决方案,请将其作为单独的答案发布,而不是修改其他答案之一。如果有帮助的话,你仍然可以接受和/或投票支持Emil的回复。我尝试将META-INF和资源文件(分别)添加到类库中,但是,这没有任何帮助。我仍然看到同样的情况NPE@Jackie-如果您找到了完整的解决方案,请将其作为单独的答案发布,而不是修改其他答案之一。如果有帮助,您仍然可以接受和/或投票支持Emil的回复。感谢发布答案。感谢发布答案。