9. Reacting to Other Plugins
다른 플러그인이 적용되면 스프링 부트 플러그인은 프로젝트 구성을 다양하게 변경하여 반응한다. 이 섹션에서는 이러한 변경 사항에 대해 설명한다.
9.1. Reacting to the Java Plugin
그레이들의 java 플러그인
이 프로젝트에 적용되면, 스프링 부트 플러그인은 다음을 수행한다:
- 프로젝트에 대해, 실행 가능한 fat jar을 생성하는 bootJar라 명명된
BootJar
태스크를 생성한다. jar는 기본 소스 세트의 런타임 클래스 경로에 있는 모든 것을 포함한다. 클래스는BOOT-INF/classes
에 패키지되고 jar는BOOT-INF/lib
에 패키지된다. bootJar
태스크에 의존하도록assemble
태스크를 구성한다.- 아카이브 분류자(archive classifier) 컨벤션으로
plain
을 사용하도록jar
태스크를 구성한다. - 빌드팩을 사용하여 OCI 이미지를 생성하는
bootBuildImage
라 명명된BootBuildImage
태스크를 생성한다. - 애플리케이션을 실행하는 데 사용할 수 있는
bootRun
이라 명명된BootRun
태스크를 만든다. bootJar
태스크에 의해 생성된 아티팩트를 포함하는bootArchives
라 명명된 구성을 만든다.- 스프링 부트의 Devtools와 같이 개발 시에만 필요하고 실행 가능한 jar 및 war에 패키지하면 안 되는 의존성에 대해
developmentOnly
라는 구성을 생성한다. productionRuntimeClasspath
라는 구성을 만든다. 이는developmentOnly
구성에만 나타나는 의존성을 뺀runtimeClasspath
와 동일하다.UTF-8
을 사용하도록 구성된 인코딩이 없는 모든JavaCompile
태스크를 구성한다.-parameters
컴파일러 인수를 사용하도록JavaCompile
태스크를 구성한다.
9.2. Reacting to the Kotlin Plugin
kotlin 플러그인을 프로젝트에 적용할 때, 스프링 부트 플러그인: When Kotlin’s Gradle plugin is applied to a project, the Spring Boot plugin:
- 스프링 부트의 의존성 관리에 사용되는 코틀린 버전을 플러그인 버전과 일치시킨다. 이는 Kotlin 플러그인의 버전과 일치하는 값으로
kotlin.version
프로퍼티를 설정하여 달성된다. -java-parameters
컴파일러 인수를 사용하도록 모든KotlinCompile
태스크를 구성한다.
9.3. Reacting to the War Plugin
그레이들 war 플러그인
을 프로젝트에 적용할 때, 스프링 부트 플러그인:
- 프로젝트에 대해 실행 가능한 fat war을 생성하는,
bootWar
라 명명된BootWar
태스크를 생성한다. 표준 패키징 외에도,providedRuntime
구성의 모든 항목은WEB-INF/lib-provided
에 패키징된다. bootWar
태스크에 의존하도록assemble
태스크를 구성한다.- 아카이브 분류자 컨벤션으로
plain
을 사용하도록war
작업을 구성한다. bootWar
태스크에서 생성된 아티팩트를 포함하도록bootArchives
구성을 구성한다.
9.4. Reacting to the Dependency Management Plugin
io.spring.dependency-management
플러그인이 프로젝트에 적용되면, 스프링 부트 플러그인이 자동으로 spring-boot-dependencies
bom을 가져온다.
9.5. Reacting to the Application Plugin
그레이들 application 플러그인
이 프로젝트에 적용되면 스프링 부트 플러그인은 다음을 수행한다:
java -jar
를 사용하여bootArchives
구성에서 아티팩트 시작 스크립트를 생성하는bootStartScripts
라 명명된CreateStartScripts
태스크를 생성한다. 태스크는defaultJvmOpts
프로퍼티 대한 컨벤션으로applicationDefaultJvmArgs
프로퍼티를 사용하도록 구성된다.boot
라는 이름의 새 배포를 만들고lib
디렉토리의bootArchives
구성에 아티팩트를 포함하고bin
디렉토리의 시작 스크립트를 포함하도록 구성한다.mainClassName
프로퍼티를main
프로퍼티에 대한 컨벤션으로 사용하도록bootRun
태스크를 구성한다.jvmArgs
프로퍼티에 대한 컨벤션으로applicationDefaultJvmArgs
프로퍼티를 사용하도록bootRun
태스크를 구성한다.- 매니페스트(manifest)의
Start-Class
항목에 대한 컨벤션으로mainClassName
프로퍼티를 사용하도록bootJar
태스크를 구성한다. - 매니페스트의
Start-Class
항목에 대한 컨벤션으로mainClassName
프로퍼티를 사용하도록bootWar
태스크를 구성한다.
9.6. Reacting to the Maven plugin
그레이들
maven
플러그인에 반응하기는 더 이상 지원되지 않으며 향후 릴리스에서 제거될 예정이다. 대신maven-publish
플러그인을 사용하자.
그레이들 maven
플러그인이 프로젝트에 적용되면, 스프링 부트 플러그인은 생성하는 pom에 의존성이 선언되지 않도록 uploadBootArchives Upload
태스크를 구성한다.