我们正在使用OSGI并希望编写一个JUnit Systemtest。我们有一个组件,它使用Java Persistence API(JPA)与数据库交互。当我们启动测试时,我们收到一条错误消息,即无法激活数据库组件。
我们认为,发生此错误,因为jpa找不到persistence.xml。但我们尝试在我们能想到的每个可能位置复制文件。每次发生同样的错误。有人知道解决方案吗?
的OSGi> 10:03:49.461 [组件解析线程] DEBUG f.d.s.system.test.SystemTest - 已启动 ERROR 22 [SCR]无法激活实例...
答案 0 :(得分:0)
没有名为bus.database 的EntityManager的持久性提供程序 因此CLASSPATH中没有JPA实现。显然取决于“bus.database”是否仅指定在特定JPA实现(提供者)上运行。
答案 1 :(得分:0)
尝试使用Pax Exam实施系统测试。您必须为测试定义所有必需的包(例如JPA实现包,您的组件等)。