Spring

WARNING: An illegal reflective access operation has occurred 해결 방법

히비스 2021. 7. 14. 16:01
    @Test
    @DisplayName("로그인 컨트롤러 진입 테스트")
    void loginSuccess() throws Exception {
        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
        map.add("id", "test");
        map.add("password", "1234");

        mockMvc.perform(post("/users/login")
                .params(map))
                .andExpect(status().isOk())
                .andDo(print());

    }

단순히, 로그인 컨트롤러에 접근 가능한지 테스트를 하고 있었다.

 

테스를 돌려보니, 아래와 같은 경고가 떴다.

테스트는 성공했기에, 큰 문제는 아닌 것 같았지만 빨간색 글씨로 illegal access 란 문구가 매우 거슬렸다.

 

구글에 물어보니, JDK 버전과 Mybatis 의존성 버전이 맞지 않다는 이유였다.

현재 난 Java와 JDK 버전 모두 11인데, 

 

mybatis-spring-boot-starter:1.3.1 은 자바 8과 호환이 된다고 한다.

 

공식 사이트를 들어가보면,

https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter

이렇게 버전 정보들이 나오는데 2.2.x 버전은 너무 최신이라 버그가 있을수도 있으니,

 

그보다 아래인 2.1.4 버전으로 갱신했다.

다행히, 경고 없이 말끔히 성공했다.

 

개발 도구들이 업그레이드 될 때마다, 영향을 미치는 다른 도구들도 버전 호환성을 항상 맞추는 습관을 가져야겠다.

'Spring' 카테고리의 다른 글

스프링 삼각형! IoC와 DI를 이해해보자  (0) 2021.08.01
Gradle이란 무엇인가?  (0) 2021.07.07
AWS + SpringBoot + Mustache + Jar 404에러  (0) 2021.03.24