의존 라이브러리의 버전을 다른 것으로 바꾸고자 한다면 property를 변경하면 된다.
// 하이버네이트 버전 ext['hibernate.version'] = '5.2.14.Final'
혹은 프로젝트의 gradle.properties
에 설정할수도 있다.
hibernate.version=5.2.14.Final
// slf4j.version 의 값을 읽을 때는 def slf4jVersion = dependencyManagement.importedProperties['slf4j.version']
org.springframework.boot:spring-boot-starter-web
같은 것을 포함할 경우 자동으로 bootJar
가 활성화 되고 jar
가 꺼지게 되는데 이렇게 되면 올바르게 라이브러리로서 기능할 수 없게 된다.jar
만 활성화해야한다.bootJar.enabled = false jar.enabled = true
main
이 존재하는 모듈, web, batch 등.)은 이 값을 반대로 해야한다.(기본으로 그렇게 됨)bootJar.enabled = true jar.enabled = false
SPRING_PROFILES_ACTIVE=<PROFILE> ./gradlew bootRun
bootRun { if (project.hasProperty("bootDebug")) { jvmArgs = ["-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"] } } // suspend=y는 JVM이 뜰 때 Remote Debugger가 접속될 때까지 기다린다. // 실행 후 바로 종료하는 명령행 애플리케이션의 경우 무조건 y
# -PbootDebug 프라퍼티를 지정하면 디버그 모드로 뜬다. ./gradlew bootRun -PbootDebug
bootRun { if (project.hasProperty('args')) { args project.args.split(',') } }
위와 같이 설정하고, 아래와 같은 형태로 실행한다.
./gradlew bootRun -Pargs=param1,param2,...
SPRING_PROFILES_ACTIVE=test gradle clean bootRun // on Windows SET SPRING_PROFILES_ACTIVE=test gradle clean bootRun
bootRun.systemProperties = System.properties
bootRun
태스크를 만들고, 거기에 각종 기본 설정 추가task bootRunDev(type: org.springframework.boot.gradle.tasks.run.BootRun, dependsOn: 'build') { group = 'Application' doFirst() { main = bootJar.mainClassName classpath = sourceSets.main.runtimeClasspath systemProperty 'spring.profiles.active', 'dev' systemProperty 'debug', 'true' } }
task copyBootJarNormalizedName(type: Copy) { from bootJar.archiveFile into "${buildDir}" rename { 'my.jar' } dependsOn bootJar }