war 생성
Less than 1 minute
war 생성 관련
Gradle > Snippets
Snippets
최종 war로 묶어줄 때 타 module에서 compile된 class파일들을 package경로 밑으로 풀어줘서 빌드 되도록 구성
./
./<war으로 묶어 줄 모듈>/
build.gradle
Groovy
plugins {
id "java"
id "war"
}
def defaultBuildClasspath = "build/classes/java/main" // 기타 모듈의
// ...[생략]...
dependencies {
// ... 풀어서 compile 할 모듈 등록
provideCompile project(":common")
provideCompile project(":common-ons")
provideCompile project(":common-ws")
// ...[생략]...
}
war {
webXml = file("src/main/webapp/WEB-INF/web.xml") // web.xml 지정
into("WEB-INF/classes") {
// ... 풀어서 compile 할 모듈 나열
from "../common/${defaultBuildClasspath}"
from "../common-ons/${defaultBuildClasspath}"
from "../common-ws/${defaultBuildClasspath}"
// ...[생략]...
}
}
Kotlin
plugins {
id "java"
kotlin("jvm")
}
val defaultBuildClasspath = "build/classes/java/main" // 기타 모듈의
// ...[생략]...
dependencies {
// ... 풀어서 compile 할 모듈 등록
provideCompile(project(":common"))
provideCompile(project(":common-ons"))
provideCompile(project(":common-ws"))
// ...[생략]...
}
tasks.war {
webXml = file("src/main/webapp/WEB-INF/web.xml") // web.xml 지정
into("WEB-INF/classes") {
// ... 풀어서 compile 할 모듈 나열
from "../common/${defaultBuildClasspath}"
from "../common-ons/${defaultBuildClasspath}"
from "../common-ws/${defaultBuildClasspath}"
// ...[생략]...
}
}
.실행 시
gradlew <war으로 묶어 줄 모듈>:war