문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
gradle:web [2012/10/02 19:56] kwon37xi |
gradle:web [2014/10/02 10:10] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 7: | 줄 7: | ||
| * 웹 애플리케이션 리소스 기본 디렉토리 : '' | * 웹 애플리케이션 리소스 기본 디렉토리 : '' | ||
| * '' | * '' | ||
| + | * [[gradle: | ||
| ===== 태스크 ===== | ===== 태스크 ===== | ||
| * [[http:// | * [[http:// | ||
| 줄 13: | 줄 13: | ||
| ===== 프로젝트 레이아웃 ===== | ===== 프로젝트 레이아웃 ===== | ||
| - | * '' | + | * '' |
| ===== 의존성 관리 ===== | ===== 의존성 관리 ===== | ||
| 줄 22: | 줄 22: | ||
| * 이행성을 없애려면 의존성 지정시 '' | * 이행성을 없애려면 의존성 지정시 '' | ||
| + | <code groovy> | ||
| + | // 기본 Servlet API | ||
| + | dependencies { | ||
| + | providedCompile ' | ||
| + | } | ||
| + | </ | ||
| - | ===== Jetty 실행하기 ===== | + | 특정 라이브러리가 servlet-api를 compile 스코프로 이미 가지고 있는 상황에서는, |
| <code groovy> | <code groovy> | ||
| - | apply plugin: 'jetty' | + | dependencies { |
| + | compile(' | ||
| + | exclude group: ' | ||
| + | } | ||
| + | providedCompile ' | ||
| + | } | ||
| </ | </ | ||
| + | ===== Convention Properties ===== | ||
| + | * [[http:// | ||
| + | |||
| + | ^프라퍼티이름 ^타입 ^기본값 ^설명 ^ | ||
| + | |webAppDirName | String | src/ | ||
| + | |webAppDir | File | // | ||
| + | |||
| + | ===== war 태스크 ===== | ||
| + | * [[http:// | ||
| + | * 컴파일된 클래스는 '' | ||
| + | * 모든 runtime 의존성 라이브러리들을 '' | ||
| + | * war 파일명에서 version 빼기< | ||
| + | war { | ||
| + | archiveName = " | ||
| + | } | ||
| + | </ | ||
| + | ===== 압축 풀린 war ===== | ||
| + | * war 태스크는 기본적으로 압축한 '' | ||
| + | task explodedWar(type: | ||
| + | description = ' | ||
| + | group = ' | ||
| + | dependsOn war.dependsOn | ||
| + | |||
| + | into " | ||
| + | with war | ||
| + | } | ||
| + | </ | ||
| + | * 이 방식은 war가 의존성이 걸린 것이 있을 때 무시해 버린다. 따라서 **war에 걸린 의존성을 explodedWar에도 걸어줘야 한다**. | ||
| + | * 혹은 war 마지막에 압축을 풀도록 설정도 가능< | ||
| + | war.doLast { | ||
| + | ant.unzip(src: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== War 커스터마이징 ===== | ||
| + | <code groovy> | ||
| + | configurations { | ||
| + | | ||
| + | } | ||
| + | |||
| + | repositories { | ||
| + | | ||
| + | | ||
| + | } | ||
| + | |||
| + | dependencies { | ||
| + | compile module(": | ||
| + | dependency ": | ||
| + | dependency ": | ||
| + | } | ||
| + | providedCompile " | ||
| + | providedCompile module(": | ||
| + | dependency ": | ||
| + | } | ||
| + | runtime ": | ||
| + | providedRuntime ": | ||
| + | testCompile " | ||
| + | moreLibs ": | ||
| + | } | ||
| + | |||
| + | war { | ||
| + | from ' | ||
| + | webInf { from ' | ||
| + | classpath fileTree(' | ||
| + | classpath configurations.moreLibs // WEB-INF/lib 에 지정된 구성 추가 | ||
| + | webXml = file(' | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== 참조 ===== | ||
| + | * [[http:// | ||
| - | * '' | ||