용접 CDI 및 JPA를 사용하는 프로젝트에 Arquillian을 설치하고 있는데 GlassFish 컨테이너를 사용하려고합니다 (Weld 내장 컨테이너가 JPA를 지원하지 않는다고 읽었습니다).Arquillian에서 여러 컨테이너 오류가 발생했습니다.
pom.xml
에 GlassFishContainer를 추가했지만 테스트 사례를 실행할 때 오류 메시지가 표시됩니다. 이드의 오류 메시지는 다음과 같습니다.
Multiple service implementations found for interface
org.jboss.arquillian.container.spi.client.container.DeployableContainer.
org.jboss.arquillian.container.glassfish.embedded_3_1.GlassFishContainer,
org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer
Weld embedded container와 glassFilsh가 모두있는 것 같습니다. 나는 내 pom.xml
을 두 번 확인 했으므로 나는 방금 glassfish를 넣었다. Weld embedded 컨테이너의 흔적을 찾을 수 없었습니다. 어떤 생각?!
'mvn dependency : tree'를 실행하여 Weld-EE 컨테이너 어댑터를 클래스 패스로 가져 오는 것이 있는지 확인하십시오. 나는 당신이 동시에 활성화 된 두 개의 프로필을 가지고 있다고 의심하지만, 또한 전 이적 종속성이 될 수 있습니다. –
동의. 빌드 클래스 경로에는 하나의 컨테이너 만있을 수 있습니다. 프로필을 사용하지 않고 두 가지 종속성을 모두 가져온 것일 수도 있습니다. –