Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ihoneymon/a2ed116069af470fec0d08110604c5db to your computer and use it in GitHub Desktop.
Save ihoneymon/a2ed116069af470fec0d08110604c5db to your computer and use it in GitHub Desktop.
스프링 부트 그레이들 플러그인의 bootJar 비활성화 후 jar 파일이 생성안된다면...

[spring-boot] gradle multi module 사용하면서 gradle plugin bootJar.enabled=false 선언했을 때 jar 파일 생성안된다면

멀티 모듈을 가지는 스프링 부트 기반의 멀티프로젝트를 구성하는 과정에서 조금 당황스런 상황을 겪었다.

bootJar.enabled=false

빌드 했을 때 위처럼 선언된 공통 모듈이 빌드된 배포본에 포함되지 않는 상황이 발생했다.

Note

인텔리제이에서 테스트 러너를 그레이들로 설정하지 않으면 당황스런 순간을 맞이하게 된다.

인텔리제이 기본 테스트 러너에서는 인텔리제이에서 컴파일한 build 디렉터리를 기반으로 테스트를 진행해서 별다른 문제가 없지만 그레이들 빌드 테스트의 경우에는 컴파일 및 빌드를 하면서 테스트가 진행되는데 위에서 언급한 bootJar.enabled=false만 선언된 모듈은 jar 파일을 생성하지 않기 때문에 이를 참조하는 하위 모듈에서 관련된 파일을 읽어오지 못하게 된다.

이와 관련된 문제를 찾아보다가 발견한 한줄기 빛!

마지막 댓글을 보면

bootJar.enabled=false
jar.enabled=true

jar.enabled=true 옵션을 추가하면 Jar 파일 생성이 진행된다. 우후!

스프링 부트에서 bootRepackage 에서 bootJar 로 변경되면서 뭔가 이상한 짓을 한 듯 하다.

Note

BootJar 문서를 살펴보면 확장하면서 재정의한 영향으로 보인다. jar.enabled 옵션을 활성화한다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment