Apache Ivy

Similar documents
블로그_별책부록

Interstage5 SOAP서비스 설정 가이드

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

슬라이드 1

문서의 제목 나눔고딕B, 54pt

untitled

PowerPoint 프레젠테이션

슬라이드 1

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

문서의 제목 나눔고딕B, 54pt

슬라이드 1

chapter1,2.doc

PowerPoint 프레젠테이션

No Slide Title

슬라이드 1

슬라이드 1

The Self-Managing Database : Automatic Health Monitoring and Alerting

슬라이드 1

슬라이드 1

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

歯CRM개괄_허순영.PDF

Interstage4 설치가이드

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

ETL_project_best_practice1.ppt

MasoJava4_Dongbin.PDF

PowerPoint Presentation

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

파워포인트

개발및운영 Eclipse 를이용한 ANT 활용방법

untitled

Intro to Servlet, EJB, JSP, WS

Spring Boot

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Portal_9iAS.ppt [읽기 전용]

02 C h a p t e r Java

Angry MOMO Presentation

Introduction to CTIP

Social Media and Social Computing

untitled

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C


슬라이드 1

03여준현과장_삼성SDS.PDF

Microsoft Word - CPL-TR OM2M.doc

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

[Brochure] KOR_LENA WAS_

김기남_ATDC2016_160620_[키노트].key

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

PowerPoint

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

목 차

Service-Oriented Architecture Copyright Tmax Soft 2005

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Orcad Capture 9.x

untitled

슬라이드 1

PBNM CIM(Common Information Model) DEN, COPS LDAP 21 CIM (Common Information Model) CIM, specification schema [7]

교육2 ? 그림

thesis

RUCK2015_Gruter_public

요약 1

슬라이드 제목 없음

Spring

2. 기능요약 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 주요기능 IDE 통합및도구지원 원격코드 Build 자동화 지원여부 대부분의도구지원 (Eclipse, NetBeans 등 ) 지원 (FTP, SCP, SFTP, SVN) 자동화 Build 중 Unit Te

정보기술응용학회 발표

_IMSS5.x메뉴얼.doc

거창전문대학훈령182.hwp

( )부록

Secure Programming Lecture1 : Introduction

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ecorp-프로젝트제안서작성실무(양식3)

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri

[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

Mentor_PCB설계입문


2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

슬라이드 1

02544Ac07¥Áöš

Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based

문서의 제목 나눔명조R, 40pt

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축

PowerPoint 프레젠테이션

소프트웨어 검증 및 설계

슬라이드 1

Web Application을 구성하는 패턴과 Spring ROO의 사례

JFeature & ANT Tools Summary

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint - Chapter_03-1_DevEnv.pptx

Oracle Database 10g: Self-Managing Database DB TSC

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx

PRO1_04E [읽기 전용]

MS-SQL SERVER 대비 기능

MCM, PCB (mentor) : da& librarian jakup & package jakup & layout jakup & fablink jakup & Summary 2 / 66

Transcription:

JBoss User Group The Agile Dependency Manager 김병곤 fharenheit@gmail.com 20100911 v1.0

소개 JBoss User Group 대표 통신사에서분산컴퓨팅기반개인화시스템구축 Process Designer ETL, Input/Output, Mining Algorithm, 통계 Apache Hadoop/Pig/HBase/Cassandra Distributed Cache Log Aggregator CEP(Complex Event Processing) Mining Algorithm Association Rule, K-Means, CF, SW마에스트로엔터프라이즈분과멘토 Hadoop 멘토링 다수책집필및번역 JBoss Application Server 5, EJB 2/3 Oreilly RESTful Java 번역중 2

최근빌드시스템의변화추세 Apache Ant Apache Ant + Ivy Apache Maven 3

Ant 에서 Ivy 의필요성 프로젝트를구성하는각종라이브러리의관리문제 라이브러리를자동으로다운로드해준다면. 각종라이브러리간종속성문제 이라이브러리가동작하려면다른라이브러리도필요하다! 소스코드에라이브러리가포함되어있는문제 소스코드 Check Out 이너무느리다 CVS/Subversion Repository 가커진다 4

Ivy 란? Tool for Managing Project Dependencies = Apache Maven Dependency Management 5

Project 의 Depedency 6

Ivy 를쓰려면? JDK Apache Ant Internet Line 7

DEMO Ivy 를동작시키기위한최소의파일은? $PROJECT_HOME/ivy.xml (Ivy : Dependency) <ivy-module version="2.0"> <info organisation="org.apache" module="hello-ivy"/> <dependencies> <dependency org="commons-lang" name="commons-lang" rev="2.0"/> <dependency org="commons-cli" name="commons-cli" rev="1.0"/> </dependencies> </ivy-module> Ivy Style $PROJECT_HOME/build.xml (Ant : Build Script) <project xmlns:ivy="antlib:org.apache.ivy.ant" name="hello-ivy" default="run">... <target name="resolve" description="--> retrieve dependencies with ivy"> <ivy:retrieve /> </target> </project> <dependency> <groupid>commons-lang</groupid> <artifactid>commons-lang</artifactid> <version>2.0</version> </dependency> Maven Style 8

Repository JAR 파일 (Dependency) 의보관창고 Maven Style Repository 를그대로활용 3가지방식의 Repository Local 자신만사용할수있는 Repository Shared 팀이공유할수있는 Repository Public 외부에공개되어누구나사용할수있는 Repository 사내 Private Repository 를운영하는것이좀더바람직 9

DEMO Atifactory, Nexus Maven Repository 10

Ivy 의 Repository Configuration Local ivy.local.default.root=/opt/ivy/repository/local (Default) ${ivy.default.ivy.user.dir}/local Shared ivy.shared.default.root=/opt/ivy/repository/shared (Default) ${ivy.default.ivy.user.dir}/shared Public ibiblio Maven 2 Public Repository 사용자가추가가능 (Artifactory or Nexus or ) 11

Multiple Resolver Repository에접근하는다양한방법을제공 Third Party 모듈은 Public, 내부구현모듈은 Private 개발한모듈을 Local Repository에두고자하는경우 모듈이분산되어있는경우 $PROJECT_HOME/ivysettings.xml <ivysettings> <settings defaultresolver="chain-example"/> <resolvers> commons-lang-2.0.jar <chain name="chain-example"> <filesystem name="libraries"> <artifact pattern="${ivy.settings.dir}/repository/[artifact]-[revision].[ext]" /> </filesystem> <ibiblio name="ibiblio" m2compatible="true" /> </chain> </resolvers> </ivysettings> 12

DEMO Repository Configuration Custom Repository 사내 Maven Repository 가있다면? <?xml version="1.0" encoding="utf-8"?> <ivysettings> <settings defaultresolver="chained"/> <resolvers> <chain name="chained"> <ibiblio name="java.net2" m2compatible="true" root="http://download.java.net/maven/2/"/> <ibiblio name="jboss" m2compatible="true" root="http://repository.jboss.org/maven2"/> <ibiblio name="ibiblio" m2compatible="true"/> </chain> </resolvers> </ivysettings> 13

DEMO RESTful Java Example Dependency Exclusion 불필요한 Dependency 를빼고싶은경우 <?xml version="1.0" encoding="utf-8"?> <ivy-module version="2.0 xmlns:xsi="hssp://www.w3.org/2001/xmlschema-inssance xsi:nonamespaceschemalocasion="hssp://ans.apache.org/ivy/schemas/ivy.xsd"> <info organisasion="com.jbossug.jaxrs" module="jaxrs-examples"/> <dependencies> <dependency org="log4j" name="log4j" rev="1.2.16 > <exclude org="javax.mail"/> <exclude org="javax.activation"/> <exclude org="org.apache.geronimo.specs"/> </dependency> <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.5.6 /> </dependencies> </ivy-module> 14

Ivy Integration : Step 1 Ivy Download & Install Ant 내에서 Ivy 를동작하도록하기위한설정 <property name="ivy.jar.dir" value="${basedir}/ivy"/> <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/> <!-- Ivy Download --> <target name="download-ivy" unless="skip.download"> <mkdir dir="${ivy.jar.dir}"/> <echo message="installing ivy..."/> <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar" dest="${ivy.jar.file}" usetimestamp="true"/> </target> <!-- Ivy Installation --> <target name="install-ivy" depends="download-ivy"> <path id="ivy.lib.path"> <fileset dir="${ivy.jar.dir}" includes="*.jar"/> </path> <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> </target> 15

Ivy Integration : Step 2 Dependency Resolve & Build Dependency 를다운로드하고빌드를하기위한설정 <property name="lib.dir" value="${basedir}/lib"/> <path id="lib.path.id"> <pathelement location="${build.dir}" /> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> </path> <target name="resolve"> <ivy:retrieve /> </target> <target name="go" depends="install-ivy, resolve"> <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="lib.path.id"/> <java classname="example.hello"> <classpath> <path refid="lib.path.id"/> </classpath> </java> </target> 16

IvyIDE Eclipse 기반 Ivy 지원도구 ivy.xml 파일에정의한 dependency 를 Eclipse 에서관리 Dependency 를 Java 프로젝트의 CLASSPATH 에추가 각종파일의편집기능및자동완성기능제공 17

IvyIDE 18

IvyIDE 19

IvyIDE 20

참고 Sonatype Nexus 동영상 http://vimeo.com/1875558 IvyIDE http://ant.apache.org/ivy/ivyde Ivy Official Site http://ant.apache.org/ivy 발표자료 (Naver 개발자센터 ) http://dev.naver.com/projects/edward/src http://dev.naver.com/projects/edward/download 21

Q & A Q & A 22