= [spring-boot] 2.X bootJar.enable=false honeymon, v0.0.1, 2018年07月02日 멀티 모듈을 가지는 스프링 부트 기반의 멀티프로젝트를 구성하는 과정에서 조금 당황스런 상황을 겪었다. [source,groovy] ---- bootJar.enabled=false ---- 빌드 했을 때 위처럼 선언된 공통 모듈이 빌드된 배포본에 포함되지 않는 상황이 발생했다. [NOTE] ==== 인텔리제이에서 테스트 러너를 그레이들로 설정하지 않으면 당황스런 순간을 맞이하게 된다. 인텔리제이 기본 테스트 러너에서는 인텔리제이에서 컴파일한 ``build`` 디렉터리를 기반으로 테스트를 진행해서 별다른 문제가 없지만 그레이들 빌드 테스트의 경우에는 컴파일 및 빌드를 하면서 테스트가 진행되는데 위에서 언급한 ``bootJar.enabled=false``만 선언된 모듈은 jar 파일을 생성하지 않기 때문에 이를 참조하는 하위 모듈에서 관련된 파일을 읽어오지 못하게 된다. ==== 이와 관련된 문제를 찾아보다가 발견한 한줄기 빛! * link:https://github.com/spring-projects/spring-boot/issues/10238[Spring Boot Gradle plugin: bootJar.enabled=false not working ] 마지막 댓글을 보면 [source,groovy] ---- bootJar.enabled=false jar.enabled=true ---- ``jar.enabled=true`` 옵션을 추가하면 Jar 파일 생성이 진행된다. 우후! 스프링 부트에서 ``bootRepackage`` 에서 ``bootJar`` 로 변경되면서 뭔가 이상한 짓을 한 듯 하다. [NOTE] ==== link:https://docs.spring.io/spring-boot/docs/2.0.3.RELEASE/gradle-plugin/api/org/springframework/boot/gradle/tasks/bundling/BootJar.html[BootJar] 문서를 살펴보면 확장하면서 재정의한 영향으로 보인다. ``jar.enabled`` 옵션을 활성화한다. ====

AltStyle によって変換されたページ (->オリジナル) /