문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
gradle:web [2012/10/02 20:09] kwon37xi [의존성 관리] |
gradle:web [2014/10/02 10:10] (현재) kwon37xi |
||
---|---|---|---|
줄 7: | 줄 7: | ||
* 웹 애플리케이션 리소스 기본 디렉토리 : '' | * 웹 애플리케이션 리소스 기본 디렉토리 : '' | ||
* '' | * '' | ||
+ | * [[gradle: | ||
===== 태스크 ===== | ===== 태스크 ===== | ||
* [[http:// | * [[http:// | ||
줄 13: | 줄 13: | ||
===== 프로젝트 레이아웃 ===== | ===== 프로젝트 레이아웃 ===== | ||
- | * '' | + | * '' |
===== 의존성 관리 ===== | ===== 의존성 관리 ===== | ||
줄 22: | 줄 22: | ||
* 이행성을 없애려면 의존성 지정시 '' | * 이행성을 없애려면 의존성 지정시 '' | ||
+ | <code groovy> | ||
+ | // 기본 Servlet API | ||
+ | dependencies { | ||
+ | providedCompile ' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 특정 라이브러리가 servlet-api를 compile 스코프로 이미 가지고 있는 상황에서는, | ||
+ | <code groovy> | ||
+ | dependencies { | ||
+ | compile(' | ||
+ | exclude group: ' | ||
+ | } | ||
+ | providedCompile ' | ||
+ | } | ||
+ | </ | ||
===== Convention Properties ===== | ===== Convention Properties ===== | ||
* [[http:// | * [[http:// | ||
줄 29: | 줄 45: | ||
|webAppDir | File | // | |webAppDir | File | // | ||
- | ===== Jetty 실행하기 ===== | + | ===== war 태스크 ===== |
+ | * [[http:// | ||
+ | * 컴파일된 클래스는 '' | ||
+ | * 모든 runtime 의존성 라이브러리들을 '' | ||
+ | * war 파일명에서 version 빼기<code groovy> | ||
+ | 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> | <code groovy> | ||
- | apply plugin: 'jetty' | + | 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('src/ | ||
+ | } | ||
</ | </ | ||
- | | + | ===== 참조 ===== |
+ | |