-
gradle build시 jdk version 설정개발/개발노트 2020. 6. 29. 14:37
jdk 1.8로 작업해오다 jdk11을 이용해 프로젝트를 진행해보기로 하였다.
도중 생긴 문제가 빌드시
Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)
와 같이 gradle JVM 버전이 맞지 않는 것이다.
만약 intelliJ와같은 환경이면
설정 -> Build,Excution, Deployment -> Build Tools -> Gradle 에서
Gradle JVM을 설정하면 된다.
하지만 배포환경이 Jenkins를 통해 빌드하는 경우
다른프로젝트들은 다 1.8인데 한 프로젝트만 11이면 문제가 생긴다.
jenkins 서버에 jdk11 설치된 상태에서
시도
- jenv를 통해 해당 프로젝트만 jenv java11를 잡았다. -> 해결안됨
- 환경변수도 확실히 잡아보자 -> 해결안됨
시도 2
- build.gradle 에
sourceCompatibility = 11 targetCompatibility = 11
와 같이 설정해보자
-> 해결안됨
시도 3
gradle 명령어에 jvm 경로 옵션을 설정해보자
기존
./gradlew bootjar
변경
./gradlew bootJar -Dorg.gradle.java.home=JDK_PATH
빌드성공
gradle로 빌드하기 때문에 해당 폴더에 할당된 jdk 영향보다는 gradle의 global설정을 영향받나보다.
따라서 빌드시 추가옵션을 통해 해결하였다.
추가.
또한 프로젝트 or 모듈의 버전을 변경하였을 때 해당 language level을 놓칠때가 있다.
이 부분에 대한 변경은
해당 프로젝트 or 모듈 우클릭 > settings 에서 변경이 가능하다.
'개발 > 개발노트' 카테고리의 다른 글
면접 질문 답변으로 떠올리지 못했던 hash table에 대해 (0) 2021.08.08 typeOrm에서 entity 의 필드값은 왜 private가 아닐까? (캡슐화x) (0) 2021.06.24 새로운 프로젝트를 접하며 (0) 2021.06.16 맥 사용포트 확인 (0) 2020.03.12 최근 바꾼 것들 (0) 2020.01.03 댓글