SlideShare una empresa de Scribd logo
1 de 48
GAE/J PROJECT MANAGEMENT devtainer@gmail.com @devtainer
목차 Google App Engine SDK for Java Google App Engine 개발 툴 지원 STEP 1.GAE/J 프로젝트의 프레임웍 통합이슈 STEP 2. 라이브러리 의존성 관리 방식 적용
Google App Engine SDK for Java
Google App Engine 다운로드 http://code.google.com/intl/ko-KR/appengine/downloads.html Google App Engine SDK for Python Google App Engine SDK for Java Google Plugin for Eclipse Google App Engine Documentation Google App Engine Button
GAE/J SDK GAE/J를 위한 로컬 개발 환경 Jetty 6.1 기반 (Java 5.0 이상) SDK는 Eclipse 플러그인에 내장 appcfg.sh 웹 애플리케이션 배포을 위한 쉘 dev_appserver.sh 로컬 개발 서버 관리 쉘
GAE/J SDK Command – bin/appcfg.sh <GAE_HOME>inppcfg.sh[options] <action> <war-location> GAE/J의  환경 설정 및 배포를 담당 Option --email --passin Action update update_indexes vaccum_indexs update_queues update_dos update_cron request_logs Example <GAE_HOME>/bin/appcfg.sh update myapp/war <GAE_HOME>/bin/appcfg.shupdate_indexesmyapp/war <GAE_HOME>/bin/appcfg.shvaccum_indexesmyapp/war <GAE_HOME>/bin/appcfg.shupdate_dosmyapp/war
bin/appcfg.sh – uploading application devtainer:bindevtainerkim$ ./appcfg.sh update ../demos/helloorm/war Reading application configuration data... 2011. 3. 22 ???? 2:48:02 com.google.apphosting.utils.config.AppEngineWebXmlReaderreadAppEngineWebXml ????: Successfully processed ../demos/helloorm/war/WEB-INF/appengine-web.xml 2011. 3. 22 ???? 2:48:02 com.google.apphosting.utils.config.AbstractConfigXmlReaderreadConfigXml ????: Successfully processed ../demos/helloorm/war/WEB-INF/web.xml Beginning server interaction for devtainerdemo... 0% Creating staging directory 5% Scanning for jsp files. 25% Initiating update. Email: devtainer@gmail.com Password for devtainer@gmail.com:  28% Cloning 23 application files. 40% Uploading 1 files. 61% Initializing precompilation... 90% Deploying new version. 95% Will check again in 1 seconds. 99% Will check again in 4 seconds. 99% Will check again in 8 seconds. 99% Closing update: new version is ready to start serving. 99% Uploading index definitions. Update completed successfully. Success. Cleaning up temporary files... devtainer:bindevtainer$
GAE/J SDK Command – bin/dev_appserver.sh <GAE_HOME>inev_appserver.sh[options] war-location GAE/J의  로컬 서버 구동 :defalt port: 8080 Option --port --address --sdk_root -disable_update_check Example <GAE_HOME>/bin/dev_appserver.shmyapp/war URL http://localhost:8080/_ah/login http://localhost:8080/_ah/admin Local DataStore초기화 데이터베이스 파일명:local_db.bin 위치:<GAE_PROJECT>/WEB-INF/appengine-generated 데이터베이스 파일 삭제
Google App Engine 개발툴 지원
Eclipse Plugin- Google Plugin설치 Eclipse Plugin Site http://dl.google.com/eclipse/plugin/3.6(Helios) http://dl.google.com/eclipse/plugin/3.5 (Galileo) http://dl.google.com/eclipse/plugin/3.4(Ganymede) Google Plugin 주요 기능 ,[object Object]
Local GAE SDK 서버 구동
Running&Debuggig
입력과 동시에 유효성 확인
프로젝트 생성
JDO 클래스 Enhance,[object Object]
Eclipse Compile & Deployment Dependency Compile Deployment
Eclipse Google Plugin 주요 기능 Update URL: http://dl.google.com/eclipse/plugin/3.6
IntelliJ의 GAE 프로젝트 지원
IntelliJ의 GAE 프로젝트 지원
IntelliJ의 GAE 프로젝트 지원
IntelliJ의 GAE 프로젝트 배포지원
NetBeans– Google Plugin 설치 http://kenai.com/projects/nbappengine/pages/Home Update Center http://http://kenai.com/downloads/nbappengine/NetBeans69/updates.xml
NetBeans – Google Plugin 설치
NetBeans – Google App Engine 등록
NetBeans – GAE 프로젝트 지원
NetBeans -  GAE 파일 편집
NetBeans: GAE 배포지원
ㄹㄹㄹ STEP 1.  GAE/J 프로젝트의 프레임웍 통합이슈
REST REST REpresentationalState Transfer Roy Fielding의 박사학위 논문에서 처음 제안 Architectural Styles and the Design of Network-based Software Architectures http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm 아키텍처 스타일 RESTfulWebService: REST 스타일에 따른 웹 서비스 구현  REST 본래 의미 웹과 같은 대규모 네트워크 시스템을 위한 원칙들의 모음 REST 최근 경향 XML과 HTTP를 사용하는 단순한 웹 기반 인터페이스를 지칭 REST의 원칙을 따르는 Web Services
REST 디자인
프로젝트에 적용해야 할 REST 특성 REST는 아키텍처 스타일 Client/Server 아키텍처 Stateless  각 Request 독립성 보장 캐쉬 시스템을 지원 일관성 있는 접근 방식 각 자원은 유일한 URL을 갖아야 함 HTTP 프로토콜의 일관성 유지 확장성을 위하여 레이어 아키텍처를 지원
REST 애플리케이션 디자인 Convert Layer Business Resource Layer RESTFul Resource Layer Database Access Layer
REST 애플리케이션 디자인 Representation Convert Layer URL Cache Business Resource Layer RESTFul Resource Layer Resource Database Access Layer Network Cache Layered Architecture Client
REST 애플리케이션 디자인: 프레임웍 맵핑 POJO XML, JSON JAXB Springframework JAX-RS(JSR-311) RI Jersey BigTable JPA, JDO, Memcache Google App Engine
REST 프로젝트 결정 사항 기본 IDE: Eclipse WAS: Google App Engine 1.4.2 의존성 프레임웍 Jersey 1.6-ea01 Springframework 3.0.5 Release Junit 4.8.1 SLF4J 1.6.1
STEP 1. 라이브러리 추가  28개 라이브러리를 /war/WEB-INF/lib 디렉터리에 복사
STEP 1. 파일 편집 및 라이브러리 등록 클래스 패스 추가
STEP 1. 로컬 배포 및 테스트
현재 프로젝트의 문제점? STEP 1완료 시점에서는 어떤 문제점이 있을까요?
STEP 2.  라이브러리 의존성 관리 방식 적용
GAEJ 툴: Apache Ant http://code.google.com/intl/ko/appengine/docs/java/tools/ant.html No-Dependency Management
GAEJ 툴: Apache Maven Plugin 이클립스Google Project와 통합성이 떨어짐
빌드 시스템의 추세 IVY는 Apache Ant의 서브 프로젝트 Maven Repository 기반의 의존성 관리 방식을 Ant에 적용 자유도 강점 표준화 강점 ANT+IVY Maven ANT 의존성 관리 표준화
Google Project의 의존성 관리 Spring3.0.5 Jersey 1.6 SLF4J  의존성 추가
의존성 관리 필요성
GAE Project의 의존성 관리 IVY를이용한 라이브러리 의존성 관리 방식 적용 IVY 설정을 이용하여 Ant Task로 Install-Dependency 구동
IVY 설정: ivysettings.xml <?xml version="1.0" encoding="ISO-8859-1"?> <ivysettings> 	<settings defaultResolver="javanet.jboss.ibiblio" overwriteMode="true" /> 	<resolvers> 		<chain name="javanet.jboss.ibiblio">              <ibiblio name="java-net-maven2"                   root="http://download.java.net/maven/2/"                   m2compatible="true" />              <ibiblio name="jboss-maven2"                   root="http://repository.jboss.org/maven2/"                   m2compatible="true" />           	    <ibiblio name="ibiblio" m2compatible="true" /> 		</chain> 	</resolvers> </ivysettings>
IVY 설정: ivy.xml (I) <?xml version="1.0" encoding="UTF-8"?> <ivy-module version="1.4">      <info organisation="devmentor.gae"           module="session2" status="integration" >  	</info>  	<configurations>  		<conf name="runtime"/>  		<conf name="compile"/>  		<conf name="test"/>  	</configurations>  	<dependencies>  		<dependency org="com.sun.jersey" name="jersey-server"  		            rev="1.6-ea02" conf="compile->default"/> 		<dependency org="com.sun.jersey.contribs"  name="jersey-spring"  		            rev="1.6-ea02"  conf="compile->default" /> 		<dependency org="com.sun.jersey" name="jersey-json" 		            rev="1.6-ea02"  conf="compile->default" />

Más contenido relacionado

La actualidad más candente

스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
지수 윤
 

La actualidad más candente (7)

Maven
MavenMaven
Maven
 
Gradle 사용하기
Gradle 사용하기Gradle 사용하기
Gradle 사용하기
 
GAE 위에서 DJANGO 사용하기
GAE 위에서 DJANGO 사용하기GAE 위에서 DJANGO 사용하기
GAE 위에서 DJANGO 사용하기
 
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
스프링프레임워크 & 마이바티스 무.료 강의자료 제공 (Spring IoC & DI)_ 구로자바학원/구로오라클학원/구로IT학원
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
 
Modularization with Dynamic Feature Module
Modularization with Dynamic Feature ModuleModularization with Dynamic Feature Module
Modularization with Dynamic Feature Module
 
Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]
 

Destacado (7)

S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0
 
S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0
 
N03 app engineseminar
N03 app engineseminarN03 app engineseminar
N03 app engineseminar
 
S04 hybrid app_and_gae_management_v1.0
S04 hybrid app_and_gae_management_v1.0S04 hybrid app_and_gae_management_v1.0
S04 hybrid app_and_gae_management_v1.0
 
N04 xmpp and_android
N04 xmpp and_androidN04 xmpp and_android
N04 xmpp and_android
 
S03 hybrid app_and_gae_datastore_v1.0
S03 hybrid app_and_gae_datastore_v1.0S03 hybrid app_and_gae_datastore_v1.0
S03 hybrid app_and_gae_datastore_v1.0
 
XMPP/Jingle(VoIP)/Perl Ocean 2012/03
XMPP/Jingle(VoIP)/Perl Ocean 2012/03XMPP/Jingle(VoIP)/Perl Ocean 2012/03
XMPP/Jingle(VoIP)/Perl Ocean 2012/03
 

Similar a N02 app engineseminar

maven 소개
maven 소개maven 소개
maven 소개
Suan Lee
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
Jae Sung Park
 

Similar a N02 app engineseminar (20)

Google App Engine의 이해
Google App Engine의 이해Google App Engine의 이해
Google App Engine의 이해
 
okspring3x
okspring3xokspring3x
okspring3x
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
maven 소개
maven 소개maven 소개
maven 소개
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop JBoss EAP on Azure Workshop
JBoss EAP on Azure Workshop
 
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
 
Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Source
 
JBoss EAP on Azure
JBoss EAP on Azure JBoss EAP on Azure
JBoss EAP on Azure
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
Eclipse RCP 2/2
Eclipse RCP 2/2Eclipse RCP 2/2
Eclipse RCP 2/2
 
Spring boot-summary(part2-part3)
Spring boot-summary(part2-part3)Spring boot-summary(part2-part3)
Spring boot-summary(part2-part3)
 
Atlassian JIRA Plugin 및 REST API를 이용한 기능 확장
Atlassian JIRA Plugin 및 REST API를 이용한 기능 확장Atlassian JIRA Plugin 및 REST API를 이용한 기능 확장
Atlassian JIRA Plugin 및 REST API를 이용한 기능 확장
 
Springmvc
SpringmvcSpringmvc
Springmvc
 
Spring-Boot (springcamp2014)
Spring-Boot (springcamp2014)Spring-Boot (springcamp2014)
Spring-Boot (springcamp2014)
 
N02 gae v1.1_20110220
N02 gae v1.1_20110220N02 gae v1.1_20110220
N02 gae v1.1_20110220
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
 

N02 app engineseminar

  • 1. GAE/J PROJECT MANAGEMENT devtainer@gmail.com @devtainer
  • 2. 목차 Google App Engine SDK for Java Google App Engine 개발 툴 지원 STEP 1.GAE/J 프로젝트의 프레임웍 통합이슈 STEP 2. 라이브러리 의존성 관리 방식 적용
  • 3. Google App Engine SDK for Java
  • 4. Google App Engine 다운로드 http://code.google.com/intl/ko-KR/appengine/downloads.html Google App Engine SDK for Python Google App Engine SDK for Java Google Plugin for Eclipse Google App Engine Documentation Google App Engine Button
  • 5. GAE/J SDK GAE/J를 위한 로컬 개발 환경 Jetty 6.1 기반 (Java 5.0 이상) SDK는 Eclipse 플러그인에 내장 appcfg.sh 웹 애플리케이션 배포을 위한 쉘 dev_appserver.sh 로컬 개발 서버 관리 쉘
  • 6. GAE/J SDK Command – bin/appcfg.sh <GAE_HOME>inppcfg.sh[options] <action> <war-location> GAE/J의 환경 설정 및 배포를 담당 Option --email --passin Action update update_indexes vaccum_indexs update_queues update_dos update_cron request_logs Example <GAE_HOME>/bin/appcfg.sh update myapp/war <GAE_HOME>/bin/appcfg.shupdate_indexesmyapp/war <GAE_HOME>/bin/appcfg.shvaccum_indexesmyapp/war <GAE_HOME>/bin/appcfg.shupdate_dosmyapp/war
  • 7. bin/appcfg.sh – uploading application devtainer:bindevtainerkim$ ./appcfg.sh update ../demos/helloorm/war Reading application configuration data... 2011. 3. 22 ???? 2:48:02 com.google.apphosting.utils.config.AppEngineWebXmlReaderreadAppEngineWebXml ????: Successfully processed ../demos/helloorm/war/WEB-INF/appengine-web.xml 2011. 3. 22 ???? 2:48:02 com.google.apphosting.utils.config.AbstractConfigXmlReaderreadConfigXml ????: Successfully processed ../demos/helloorm/war/WEB-INF/web.xml Beginning server interaction for devtainerdemo... 0% Creating staging directory 5% Scanning for jsp files. 25% Initiating update. Email: devtainer@gmail.com Password for devtainer@gmail.com: 28% Cloning 23 application files. 40% Uploading 1 files. 61% Initializing precompilation... 90% Deploying new version. 95% Will check again in 1 seconds. 99% Will check again in 4 seconds. 99% Will check again in 8 seconds. 99% Closing update: new version is ready to start serving. 99% Uploading index definitions. Update completed successfully. Success. Cleaning up temporary files... devtainer:bindevtainer$
  • 8. GAE/J SDK Command – bin/dev_appserver.sh <GAE_HOME>inev_appserver.sh[options] war-location GAE/J의 로컬 서버 구동 :defalt port: 8080 Option --port --address --sdk_root -disable_update_check Example <GAE_HOME>/bin/dev_appserver.shmyapp/war URL http://localhost:8080/_ah/login http://localhost:8080/_ah/admin Local DataStore초기화 데이터베이스 파일명:local_db.bin 위치:<GAE_PROJECT>/WEB-INF/appengine-generated 데이터베이스 파일 삭제
  • 9. Google App Engine 개발툴 지원
  • 10.
  • 11. Local GAE SDK 서버 구동
  • 15.
  • 16. Eclipse Compile & Deployment Dependency Compile Deployment
  • 17. Eclipse Google Plugin 주요 기능 Update URL: http://dl.google.com/eclipse/plugin/3.6
  • 22. NetBeans– Google Plugin 설치 http://kenai.com/projects/nbappengine/pages/Home Update Center http://http://kenai.com/downloads/nbappengine/NetBeans69/updates.xml
  • 23. NetBeans – Google Plugin 설치
  • 24. NetBeans – Google App Engine 등록
  • 25. NetBeans – GAE 프로젝트 지원
  • 26. NetBeans - GAE 파일 편집
  • 28. ㄹㄹㄹ STEP 1. GAE/J 프로젝트의 프레임웍 통합이슈
  • 29. REST REST REpresentationalState Transfer Roy Fielding의 박사학위 논문에서 처음 제안 Architectural Styles and the Design of Network-based Software Architectures http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm 아키텍처 스타일 RESTfulWebService: REST 스타일에 따른 웹 서비스 구현 REST 본래 의미 웹과 같은 대규모 네트워크 시스템을 위한 원칙들의 모음 REST 최근 경향 XML과 HTTP를 사용하는 단순한 웹 기반 인터페이스를 지칭 REST의 원칙을 따르는 Web Services
  • 31. 프로젝트에 적용해야 할 REST 특성 REST는 아키텍처 스타일 Client/Server 아키텍처 Stateless 각 Request 독립성 보장 캐쉬 시스템을 지원 일관성 있는 접근 방식 각 자원은 유일한 URL을 갖아야 함 HTTP 프로토콜의 일관성 유지 확장성을 위하여 레이어 아키텍처를 지원
  • 32. REST 애플리케이션 디자인 Convert Layer Business Resource Layer RESTFul Resource Layer Database Access Layer
  • 33. REST 애플리케이션 디자인 Representation Convert Layer URL Cache Business Resource Layer RESTFul Resource Layer Resource Database Access Layer Network Cache Layered Architecture Client
  • 34. REST 애플리케이션 디자인: 프레임웍 맵핑 POJO XML, JSON JAXB Springframework JAX-RS(JSR-311) RI Jersey BigTable JPA, JDO, Memcache Google App Engine
  • 35. REST 프로젝트 결정 사항 기본 IDE: Eclipse WAS: Google App Engine 1.4.2 의존성 프레임웍 Jersey 1.6-ea01 Springframework 3.0.5 Release Junit 4.8.1 SLF4J 1.6.1
  • 36. STEP 1. 라이브러리 추가 28개 라이브러리를 /war/WEB-INF/lib 디렉터리에 복사
  • 37. STEP 1. 파일 편집 및 라이브러리 등록 클래스 패스 추가
  • 38. STEP 1. 로컬 배포 및 테스트
  • 39. 현재 프로젝트의 문제점? STEP 1완료 시점에서는 어떤 문제점이 있을까요?
  • 40. STEP 2. 라이브러리 의존성 관리 방식 적용
  • 41. GAEJ 툴: Apache Ant http://code.google.com/intl/ko/appengine/docs/java/tools/ant.html No-Dependency Management
  • 42. GAEJ 툴: Apache Maven Plugin 이클립스Google Project와 통합성이 떨어짐
  • 43. 빌드 시스템의 추세 IVY는 Apache Ant의 서브 프로젝트 Maven Repository 기반의 의존성 관리 방식을 Ant에 적용 자유도 강점 표준화 강점 ANT+IVY Maven ANT 의존성 관리 표준화
  • 44. Google Project의 의존성 관리 Spring3.0.5 Jersey 1.6 SLF4J 의존성 추가
  • 46. GAE Project의 의존성 관리 IVY를이용한 라이브러리 의존성 관리 방식 적용 IVY 설정을 이용하여 Ant Task로 Install-Dependency 구동
  • 47. IVY 설정: ivysettings.xml <?xml version="1.0" encoding="ISO-8859-1"?> <ivysettings> <settings defaultResolver="javanet.jboss.ibiblio" overwriteMode="true" /> <resolvers> <chain name="javanet.jboss.ibiblio"> <ibiblio name="java-net-maven2" root="http://download.java.net/maven/2/" m2compatible="true" /> <ibiblio name="jboss-maven2" root="http://repository.jboss.org/maven2/" m2compatible="true" /> <ibiblio name="ibiblio" m2compatible="true" /> </chain> </resolvers> </ivysettings>
  • 48. IVY 설정: ivy.xml (I) <?xml version="1.0" encoding="UTF-8"?> <ivy-module version="1.4"> <info organisation="devmentor.gae" module="session2" status="integration" > </info> <configurations> <conf name="runtime"/> <conf name="compile"/> <conf name="test"/> </configurations> <dependencies> <dependency org="com.sun.jersey" name="jersey-server" rev="1.6-ea02" conf="compile->default"/> <dependency org="com.sun.jersey.contribs" name="jersey-spring" rev="1.6-ea02" conf="compile->default" /> <dependency org="com.sun.jersey" name="jersey-json" rev="1.6-ea02" conf="compile->default" />
  • 49. IVY 설정: ivy.xml (II) <dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" conf="compile->default" /> <dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" conf="runtime->default" /> <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.1" conf="runtime->default" /> <dependency org="log4j" name="log4j" rev="1.2.16" conf="runtime->default" /> <dependency org="org.springframework" name="spring-context" rev="3.0.5.RELEASE" conf="compile->default" > <exclude org="commons-logging" /> </dependency> <dependency org="org.springframework" name="spring-web" rev="3.0.5.RELEASE" conf="runtime->default" /> <dependency org="junit" name="junit" rev="4.8.1" conf="test->default" /> <dependency org="org.springframework" name="spring-test" rev="3.0.5.RELEASE" conf="test->default" /> </dependencies> </ivy-module>
  • 50. Ant Build Task : Dependency 구성 <property name="project.target" value="${basedir}/target" /> <target name="install-dependency" depends="install-ivy"> <ivy:retrieve pattern="${project.target}/[conf]-libs/[artifact]-[revision].[ext]" / </target>
  • 51. Ant Build Task : Dependency 구성 Web Application 배포를 위한 라이브러리 설정 Deploy-prepare: compile & runtime 라이브러리를 war/WEB-INF/lib에
  • 52. Q&A