2010-03-04 5 views
0

우리는 OSGI를 사용 중이며 JUnit Systemtest를 작성하려고합니다. Java Persistence API (JPA)를 사용하여 데이터베이스와 상호 작용하는 하나의 구성 요소가 있습니다. 테스트를 시작할 때 데이터베이스 구성 요소를 활성화 할 수 없다는 오류 메시지가 나타납니다.Osgi의 Junit 테스트가 Jpa 구성 요소를 시작하지 않습니다.

jpa가 persistence.xml을 찾지 못하기 때문에이 오류가 발생한다고 생각합니다. 그러나 우리는 생각할 수있는 가능한 모든 위치에 파일 복사를 시도했습니다. 동일한 오류가 발생할 때마다. 아무도 해결책을 안다면?

OSGI> 10 : 03 : 49.461 [구성 요소 해결 스레드] DEBUG fdssystem.test.SystemTest은 - ... EntityManager의 이름 버스

답변

0

없음 지속성 제공자를 인스턴스를 활성화 할 수 없습니다 ERROR (22) [SCR]를 시작했다. 데이터베이스 따라서 CLASSPATH에 JPA 구현이 없습니다. 분명히 "bus.database"가 특정 JPA 구현 (제공자)에서만 실행되도록 지정된 경우에 따라 다릅니다.

+0

무슨 뜻입니까? 그리고 우리가 거기에 입력해야하는 파일은 무엇입니까? 빠른 응답 주셔서 감사합니다 –

+0

Java 응용 프로그램에는 하나의 CLASSPATH 만 있습니다. Ok, OSGi env는 클래스 로딩을위한 특별한 처리를하지만 어쨌든. 무슨 항아리? 사용하기로 선택한 Jpa 구현은 무엇입니까? DataNucleus, EclipseLink, Hibernate, OpenJPA 등이있다. – DataNucleus

0

Pax Exam으로 시스템 테스트를 구현하십시오. 테스트에 필요한 모든 번들을 정의해야합니다 (예 : JPA 구현 번들, 구성 요소 등).

관련 문제