java7 & play 1.2.x 에서 java8 & play 1.3.0으로 migration 한 후기를 작성한다.



play 1.2.x를 java8로 실행하면 에러가 발생. 그래서 play1 의 java8 패치를 기다렸다.


하지만, java8 support가 revert 되었던 적이 있었지만..

https://github.com/playframework/play1/commit/ea7a14ae432d24ac3f73c5de1c70d9037db8c5c0



최근에 java8 support가 지원되었다. 

https://github.com/playframework/play1/commit/9778f24dda5c22b7df9b1cc6fd01cd492799d377




내용을 보면 jdt core의 버전(3.7->3.9)과 ApplicationCompiler클래스의 java8 지원 코드이다. CompilerOption은 eclipse jdt의  org.eclipse.jdt.internal.compiler.impl.CompilerOptions 이다. 1.8이 추가된 것이었다.


framework/src/play/classloading/ApplicationCompiler.java

+        }else if("1.8".equals(Play.configuration.get("java.source"))) {

+            javaVersion = CompilerOptions.VERSION_1_8;

         }



이 코드에 필받아 기존에 동작중이었던 java7 & play1.2.x 에서 점프했다. 

 java8 & play1.3.0이 무사하게 동작되고 있다.



* 참고 

jdt를 이용한 java8 컴파일 예제.

https://blogs.nologin.es/rickyepoderi/uploads/CompilingServletpartI/SimpleCompiler.java






Posted by '김용환'
,