Eclipse 를이용한 ANT 활용방법 2014. 04. 09
목차 Eclipse를이용한 ANT 활용방법... 3 1. ant 사용전준비사항... 3 1.1 ant Install... 3 1.2 Java Project 생성... 5 2. ant 활용방법... 10 2.1 ant project 생성... 10 3. ant 설정... 13 3.1 ant directory... 13 3.2 build.xml... 14 3.3 속성... 14 4. ant 실행... 17 4.1 ant build... 17 4.2 실행결과... 18 2
Eclipse 를이용한 ANT 활용방법 1. ant 사용전준비사항 1.1 ant Install (help -> Install New Software 선택 ) 3
(Add -> Name, Location 등록 : mirror 사이트추가 ) Name : indigo, Location : http://download.eclipse.org/releases/indigo (Enterprise Development -> Next : install package) install software : indigo - download.eclipse.org/releases/indigo 추가 (mirror 사이트는다수존재함 ) web, xml, java EE and OSGi Enterprise Development 항목안의 Eclipse Java EE Developer Tools 에 ant가포함되어있음 Install 진행 4
1.2 Java Project 생성 (File -> New -> Other 선택 : java project 생성 ) (Java Project -> Next 선택 ) 5
(Java Project Name) 6
(Finish Java Project) 7
(java project 확인 ) (src dir 에서우클릭 -> New -> Class : class file 생성 ) 8
(Name -> Finish : class name 입력후완료 ) 9
2. ant 활용방법 2.1 ant project 생성 (File -> New -> Other 선택 : java project 생성 ) (ant search or web services dir 선택 -> Ant Files -> Next 클릭 : ant file 생성 ) (into folder -> Browsw 선택 : 프로젝트선택 ) 10
( 추가한 java project AntTest 선택 -> OK) 11
( 추가된 Project 확인 -> Finish) (java project 확인 : 추가된 ant directory 확인 ) 12
3. ant 설정 3.1 ant directory ant directory 에는초기생성시 properties, xml 파일이생성되어있으며, 해당 file 의 name 은변경이가능 ( 자주사용하는 build.xml 로파일명변경 ) 13
3.2 build.xml ex) build.xml <?xml version="1.0"?> <project default="main" basedir="." name="testant"> <description> NRSON Ant Example </description> </project> <property name="src" location="../src"/> <property name="build" location="build"/> <property name="dist" location="dist"/> <property name="backup" location="backup"/> <target name="init"> <mkdir dir="${dist}" /> <mkdir dir="${build}" /> <tstamp> <format property="dstamp" pattern="yyyymmdd" /> <format property="tstamp" pattern="hhmm"/> </tstamp> </target> <target name="backup" depends="init"> <mkdir dir="${backup}/${dstamp}" /> <copy todir="${backup}/${dstamp}"> <fileset dir="${src}" /> </copy> </target> <target name="compile" depends="backup" description="compile the source"> <javac srcdir="${src}" destdir="${build}" /> </target> <target name="dist" depends="compile" description="generate the description"> <mkdir dir="${dist}/lib" /> <jar jarfile="${dist}/lib/main_${dstamp}.jar" basedir="${build}" /> </target> <target name="clean" description="clean up"> <delete dir="${build}" /> <delete dir="${dist}" /> </target> <target name="main" > <wsgen/> </target> 3.3 속성 (Target) PROJECT 안에최소하나의 TARGET 엘레멘탈이존재해야하며, PROJECT 엘레멘탈에는 default, basedir, name 등의속성들이존재함기본적으로 basedir = "." 과같이이 ant 빌드에사용되는프로젝트의 root 를설정하고, name 란에현재빌드의타 14
이틀을입력 TARGET 은 TASK 즉작업을모아두는컨테이너이고각컨테이너간에의존 (DEPEND) 속성을주어하나의빌드프로세 스를구성함 ( 많이사용하는 TASK) - TSTAMP : 날짜시간등을제공하는 TASK - COPY : FILE 을원하는폴더를지정하여복사하는 TASK - MKDIR : dir 속성으로폴더를만드는 TASK - JAR : JAR 생성 TASK - DELETE : 디렉토리및소스삭제 TASK - JAVAC : SOURCE COMPILE TASK 생성한각 target 의역할 INIT ( 실행전필요한 TASK 기술 ) INIT 에서는 mkdir 로 dist, build directory 를만들고, dstamp TASK 로 "yyyymmdd" 형식의프로퍼티 tstamp TASK 로 "HHmm" 형식의 PROPERTY 를생성합니다. 포맷방식은 java 의 java.text.simpledateformat api 에서기술하는포맷방식과같습니다. BACKUP (SRC 백업 TASK 기술 ) backup 에서는 depend = "init" 으로실행전 init 을먼저호출하도록되어있습니다. 백업할위치를 PROPERTY 로받아와 dir 속성에기술하고그하위폴더로 ${DSTAMP} 구문을넣어현재일자로 생성되게기술하였습니다. COPY TASK 를사용하여 todir 위치로 fileset 에정의된위치에서복사합니다. COMPILE (JAVA FILE COMPILE TASK 기술 ) JAVAC TASK 를사용 srcdir 속성에.java source 위치기술, destdir 속성에컴파일된.class 파일을저장할위치 를지정한다. depend = "backup" 으로실행전 backup 을먼저호출하도록되어있습니다. DIST (COMPILE 된 CLASS FILE 배포 TASK 기술 ) JAR 파일을저장할폴더를만들고 JAR TASK 를사용 jarfile 속성에저장할위치에파일명을기술하였습니다. ANT_${DSTAMP}.jar 을이용하여 ANT_ 뒤에현재일자를넣어 JAR 를생성한다. depend = "compile" 로실 행전 compile 을먼저호출하도록되어있습니다. CLEAN (build 수행시생성된 dir, files 삭제 TASK 기술 ) BUILD, DIST LOCATION 에정의된위치의파일을삭제한다. Backup dir 을삭제하지않습니다. (Property) PROPERTY 는 TARGET 컨테이너하위엘레멘탈이아닌 PROJECT 안에서독립적으로쓰임, name 에해당 property 이름, location 에위치를지정합니다. 각 TARGET 안에기술된 TASK 코드를보면 ${...} 형태의구문을볼수있는데이것은소스코드제일위에서정의한 PROPERTY 값들입니다 src는 java source 위치 build 는 java 가컴파일되고난뒤.class 파일저장위치 dist(discribution: 배포 ) 는 src에위치한모든소스를 jar생성, 저장하는위치 backup은 backup할.java source 저장위치 15
(Depends) dist를실행하면 compile 을 compile에서도마찬가지 depend 가 backup으로되어있으므로 backup 호출 backup도마찬가지 init을호출합니다. 만약 dist를실행치않고컴파일만하려고 compile 을실행한다면 init - backup - compile 까지실행됩니다. 16
4. ant 실행 4.1 ant build (build.xml 파일우클릭 -> Run As -> Ant Buld : ant build setting) ( 등록한 target 중실행할 name 선택 -> Run) 17
4.2 실행결과 (Console Result) Buildfile: D:\eclipse\workspace\AntTest\ant\build.xml init: [mkdir] Created dir: D:\eclipse\workspace\AntTest\ant\dist [mkdir] Created dir: D:\eclipse\workspace\AntTest\ant\build backup: 18
[mkdir] Created dir: D:\eclipse\workspace\AntTest\ant\backup\20140409 [copy] Copying 1 file to D:\eclipse\workspace\AntTest\ant\backup\20140409 compile: [javac] D:\eclipse\workspace\AntTest\ant\build.xml:30: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 1 source file to D:\eclipse\workspace\AntTest\ant\build dist: [mkdir] Created dir: D:\eclipse\workspace\AntTest\ant\dist\lib [jar] Building jar: D:\eclipse\workspace\AntTest\ant\dist\lib\main_20140409.jar BUILD SUCCESSFUL Total time: 875 milliseconds dist target 을선택하여 Run 을구동한결과입니다. dist target 의 depends 인 compile target, compile target 의 depends 인 backup target, backup target 의 depends 인 init target 을실행하며, 실행순서는역순인 init -> backup -> compile -> dist 순으로실행됩니다. 19
(ant directory 확인 ) TASK mkdir 로생성한 backup, dist, build dir 이생성되었으며, backup 에는오늘날짜의 dir 과현재 java file 이, build dir 에는 compile 된 class file 이, dist 에는 lib dir 과 class file 을 jar 로묶은패키지가생성되어있습니다. Lib 로묶인오늘날짜의 jar 파일을 JEUS application 경로의 WEB-INF/lib 에위치시켜 deploy 하여운영합니다. 20
Copyright 2014 TmaxSoft Co., Ltd. All Rights Reserved. TmaxSoft Co., Ltd. Trademarks Tmax, WebtoB, WebT, JEUS, ProFrame, SysMaster and OpenFrame are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Contact Information TmaxSoft can be contacted at the following addresses to arrange for a consulting team to visit your company and discuss your options for legacy modernization. Korea - TmaxSoft Co., Ltd. Corporate Headquarters 272-6 Seohyeon-dong, Bundang-gu, Seongnam-si, South Korea, 463-824 Tel : (+82) 31-8018-1708 Fax : (+82) 31-8018- 1710 Website : http://tmaxsoft.com U.S.A. - TmaxSoft Inc. 560 Sylvan Avenue Englewood Cliffs, NJ 07632, USA Tel : (+1) 201-567-8266 Fax : (+1) 201-567- 7339 Website : http://us.tmaxsoft.com Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073 Japan Tel : (+81) 3-5765-2550 Fax: (+81) 3-5765- 2567 Website : http://jp.tmaxsoft.com China TmaxSoft China Co., Ltd. Room 1101, Building B, Recreo International Center, East Road Wang Jing, Chaoyang District, Beijing, 100102, P.R.C Tel : (+86) 10-5783-9188 Fax: (+86) 10-5783- 9188(#800) Website : http://cn.tmaxsoft.com China(JV) Upright(Beijing) Software Technology Co., Ltd Room 1102, Building B, Recreo International Center, East Road Wang Jing, Chaoyang District, Beijing, 100102, P.R.C Tel : (+86) 10-5783-9188 Fax: (+86) 10-5783- 9188(#800) Website : www.uprightsoft.com TD-CMUT-D0409001 21