Skip to main content

war 생성

Less than 1 minuteGradleSnippetsgradlegroovyideaintellij-ideaintellijexecutable-jarjar

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}" 
        // ...[생략]...
    }
}

.실행 시

gradlew <war으로 묶어 줄 모듈>:war

이찬희 (MarkiiimarK)
Never Stop Learning.