문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
springframework:springboot:gradle [2018/11/28 12:54] kwon37xi 만듦 |
springframework:springboot:gradle [2020/09/16 16:41] (현재) kwon37xi [bootJar 파일을 별도 파일로 복사하기] |
||
|---|---|---|---|
| 줄 2: | 줄 2: | ||
| * [[springframework: | * [[springframework: | ||
| + | |||
| + | ===== Dependency Version Override ===== | ||
| + | 의존 라이브러리의 버전을 다른 것으로 바꾸고자 한다면 property를 변경하면 된다. | ||
| + | <code groovy> | ||
| + | // 하이버네이트 버전 | ||
| + | ext[' | ||
| + | </ | ||
| + | 혹은 프로젝트의 '' | ||
| + | < | ||
| + | hibernate.version=5.2.14.Final | ||
| + | </ | ||
| + | |||
| + | * [[https:// | ||
| + | * Gradle 에서 SpringBoot 버전 프라퍼티의 값을 읽고자 한다면 | ||
| + | <code groovy> | ||
| + | // slf4j.version 의 값을 읽을 때는 | ||
| + | def slf4jVersion = dependencyManagement.importedProperties[' | ||
| + | </ | ||
| + | |||
| + | ===== 라이브러리성 모듈 설정 ===== | ||
| + | * 라이브러리성 모듈인데 '' | ||
| + | * 이 경우 '' | ||
| + | < | ||
| + | bootJar.enabled = false | ||
| + | jar.enabled = true | ||
| + | </ | ||
| + | * 말단 배포 모듈('' | ||
| + | < | ||
| + | bootJar.enabled = true | ||
| + | jar.enabled = false | ||
| + | </ | ||
| + | ===== BootRun ===== | ||
| + | ==== profile 지정 ==== | ||
| + | <code sh> | ||
| + | SPRING_PROFILES_ACTIVE=< | ||
| + | </ | ||
| + | |||
| + | ==== Debug Mode ==== | ||
| + | <code groovy> | ||
| + | bootRun { | ||
| + | if (project.hasProperty(" | ||
| + | jvmArgs = [" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // suspend=y는 JVM이 뜰 때 Remote Debugger가 접속될 때까지 기다린다. | ||
| + | // 실행 후 바로 종료하는 명령행 애플리케이션의 경우 무조건 y | ||
| + | </ | ||
| + | |||
| + | <code sh> | ||
| + | # -PbootDebug 프라퍼티를 지정하면 디버그 모드로 뜬다. | ||
| + | ./gradlew bootRun -PbootDebug | ||
| + | </ | ||
| + | |||
| + | ==== Application Arguments ==== | ||
| + | * [[https:// | ||
| + | <code groovy> | ||
| + | bootRun { | ||
| + | if (project.hasProperty(' | ||
| + | args project.args.split(',' | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 위와 같이 설정하고, | ||
| + | |||
| + | <code sh> | ||
| + | ./gradlew bootRun -Pargs=param1, | ||
| + | </ | ||
| + | |||
| + | ==== Property Override ==== | ||
| + | * [[https:// | ||
| + | |||
| + | === Environment Variable 사용 === | ||
| + | < | ||
| + | SPRING_PROFILES_ACTIVE=test gradle clean bootRun | ||
| + | |||
| + | // on Windows | ||
| + | SET SPRING_PROFILES_ACTIVE=test | ||
| + | gradle clean bootRun | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Gradle 에 System Property 그대로 계승 === | ||
| + | < | ||
| + | bootRun.systemProperties = System.properties | ||
| + | </ | ||
| + | |||
| + | === 새로운 bootRun Task 로 만들어버리기 === | ||
| + | * 새로운 '' | ||
| + | < | ||
| + | task bootRunDev(type: | ||
| + | group = ' | ||
| + | |||
| + | doFirst() { | ||
| + | main = bootJar.mainClassName | ||
| + | classpath = sourceSets.main.runtimeClasspath | ||
| + | systemProperty ' | ||
| + | systemProperty ' | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== bootJar 파일을 별도 파일로 복사하기 ===== | ||
| + | <code groovy> | ||
| + | task copyBootJarNormalizedName(type: | ||
| + | from bootJar.archiveFile | ||
| + | into " | ||
| + | rename { ' | ||
| + | dependsOn bootJar | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== 참조 ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||