Spring2019. 10. 8. 14:49

java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer information does not match signer information of other classes in the same package

 

Spring Boot에서 hamcrest를 이용해서 테스트시 위와 같은 에러가 발생할 때가 있다.

구글링을 하면 대부분 Build Path 순서를 바꾸라고 나오고, 가끔 이클립스의 jar가 예전버전이라서 새 버전을 받아서 plugin 폴더의 jar를 교체하라는 말도 나온다.

 

그런데 Spring Boot의 경우 pom.xml에 직접 junit 관련 jar를 기입한 것이 아닌 자동으로 삽입된 것이고,

지금 사용하는 이클립스도 2019-03 버전이라서 hamcrest jar가 예전 것이라는 말도 맞지 않았다.

 

결국 찾은 것은 이클립스안에 junt관련 jar가 내장되어있으니 Java Build Path에서 Junit 라이브러리를 제거하는 것이다.

메이븐 라이브러리에도 junit과 hamcrest가 들어있는데 따로 Junit 라이브러리도 추가하니 중복으로 기입되면서 pom.xml에서 jar 순서가 바뀐 것과 같은 효과가 발생한 것이다.

 

알고 보면 쉬운데 모르면 고생하고, 당황하지 말고 침착하게 찾아보는 것이 답이다.

 

참고 : http://wangxiangblog.blogspot.com/2015/10/spring-boot-mockito-spring-rest-junit.html

'Spring' 카테고리의 다른 글

Spring Boot + Task Scheduler  (3) 2015.08.24
Posted by net4all