jdk 8 업그레이드시 이슈사항

jdk 버전 업그레이드시 이슈사항 정리

이슈사항

  1. powermock > javassist

    • jdk 8을 사용할 때, powermock 라이브러리 버전에 이슈가 있다.

    • powermock 안에 javassist라는 라이브러리에서 문제가 있는데,

    • 이 라이브러리는 Java Bytecode를 조작하는 라이브러리로 버전에 따라 jdk 8 클래스의 Bytecode와 호환되지 않는다.

    • javassist-3.18.1.GA부터 호환이 되지만, jdk 8을 호환하기 위한 많은 버그들이 수정된 버전은 3.19.0.GA부터라고 한다.

  2. spring-asm

    • spring 3.0에서 jdk 8을 사용할 때, lambda 식을 사용하면 이슈가 발생한다.

    • spring-asm이란 라이브러리는 위에서 말한 javassis와 같이 Java Bytecode를 조작하는 라이브러리이다.

    • 따라서 jdk 8의 Bytecode를 조작하는데 이슈가 있는 것 같다.

    • 원래 spring 3.x는 jdk 1.7까지를 지원하고, jdk8은 spring 4.x부터 완전히 호환이 된다고 한다.

    • 하지만 모든 소스가 안되는 것은 아니고 lambda와 같은 jdk 8 syntax는 사용하지 않는다면 문제가 발생하지 않는다.

      • spring 3.2.9 부터는 jdk 8 bytecode를 인식할 수 있지만, 완전히는 아니다. 완전하게 인식하는 버전은 spring 4.0-M1이다

댓글