나는 Guice를 시도하고있다. 나는 Guice Getting Started 설명서의 예제와 매우 유사한 간단한 예제를 만들었습니다.왜 Guice는 TestNG 제공에서 @ javax.inject.Inject를 인식하지 못합니까? 반면 Guice는 com.google.inject 패키지에서 인식합니까?
은 그러나 얼마 동안 일을하고 말했다하지 않았다 :
이 mypack.ServiceUser에 적절한 생성자 를 찾을 수 없습니다. 클래스는 에 @Inject 또는 @ 주석이없는 생성자가이고 0이 아닌 생성자 인이 비공개가 아니어야합니다. mypack.ServiceUser.class (ServiceUser.java:14) 에서 문제가 있었다 수입 mypack.ServiceUser
의 위치있다. Google Guice와 TestNG를 모두 프로젝트에 첨부했습니다. 그리고 org.testng.guice
패키지에서 수업을 들여 왔습니다. 그러나 주석 Inject
은 javax.inject
패키지에서 가져 왔습니다. 그 수입을 org.testng.guice.Inject
으로 바꾼 후에 프로그램이 작동하기 시작했습니다.
그러나 그 후 나는 조금 더 수입품을 가지고 놀았습니다. org.testng
수입품을 모두 com.google.inject
으로 변경했습니다. 이 프로그램은 여전히 효과가있었습니다. 그 후 나는 @Inject
주석으로 돌아가서 javax.inject.Inject
으로 가져 오기를 변경했습니다 (처음 깨진 버전 이었기 때문에). 그리고이 프로그램은 그 후에도 효과가있었습니다.
나는 Guits가 Google 패키지 (com.google.inject
)와 정상적으로 작동하는 동안 TestNG 패키지의 Guice는 javax.inject.Inject
과 작동하지 않습니다.
왜 그렇게 이상합니까?
p.s. Guice와 TestNG (guice-3.0-rc1과 testng-5.14.5)의 마지막 버전을 사용합니다.
설명과 새로운 버전을 제공해 주셔서 감사합니다. – Roman
com.google.inject 및 java.inject.Inject 만 사용하는 동안 동일한 오류가 발생합니다. – ripper234