ANT 사용 예제 - 1 :: 이클립스 팁[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

이클립스 팁
[1]
등록일:2010-07-25 10:42:23 (0%)
작성자:
제목:ANT 사용 예제 - 1


make와 비슷한 Java 기반의 빌드 도구

"Makefile" 대신 XML 파일을 사용하는 시스템에 독립적인
(즉, 쉘을 이용하지 않는) 빌드 도구. 이 패키지는
스크립트와 핵심 태스크 라이브러리를 포함합니다.


설명에서 보듯이 java+ant를 쓰면 좀 우월하다. make를 사용하면 컴파일할 java소스를 명시해줘야하지만 이건 디렉토리만 잡아줘도 알아서 컴파일다 되고 jar파일 만들때도 옵션을 적당히만 줘도 잘 만들어준다.

인터넷에서 삽질해서 작업중인 프로젝트에서 사용하는 ant스크립트이다(처음 작성해 보는거라서 삽질좀 했다). 후에 적절히 참고해서 써야지


<?xml version="1.0" encoding="UTF-8"?>
<project name="ExamplePackage" default="dist">
<property name="src" location="src;../CursCommon/src;../PackageManager/src;../PackageManagerDescriptions/src;../Utilities/src" />

<!-- ant로 컴파일한 class파일이 들어가는 디렉토 -->
<property name="bin" location="build" />
<property name="dist" location="dist" />
<property name="junit" value="/opt/eclipse/plugins/org.junit_3.8.2.v20090203-1005/junit.jar" />

<!-- 예제 패키지 이름 정의. 디렉토리도 같은 이름으로 한다 -->
<property name="aircon" value="s25a" />
<property name="contemp" value="ct" />
<property name="tempSensor" value="huts" />

<target name="init" description="필요한 디렉토리를 생성합니다.">
<mkdir dir="${bin}"></mkdir>
<mkdir dir="${dist}"></mkdir>
</target>

<target name="clean" description="${build}와 ${dist} 디렉토리 지우기">
<delete dir="${bin}"></delete>
<delete dir="${dist}"></delete>
</target>

<target name="dist-clean" description="패키지만 삭제">
<delete dir="${dist}"></delete>
</target>

<target name="compile" depends="init" description="소스파일을 컴파일해서 ${bin}에 넣는다">
<javac srcdir="${src}"
destdir=
"${bin}" includes="**/*.java"
classpath=
"lib/log4j-1.2.15.jar;lib/NAIE.jar;${junit}" />

</target>

<target name="dist" depends="aircon, contemp, tempSensor" description="모든 예제 서비스를 컴파일한다">
</target>

<target name="aircon" depends="compile" description="에어콘 패키지를 컴파일해서 패키지로 만든다">
<!-- jar파일로 일단 묶기 -->
<jar destfile="${dist}/${aircon}-bin.jar" basedir="${bin}"
includes=
"org/foo/bar/service/**, com/samsung/elec/aircon/**" />


<!-- 패키지파일로 묶을 준비하기 -->
<move file="${dist}/${aircon}-bin.jar" todir="${aircon}" />

<!-- 기존 패키지 파일 삭제 -->
<!-- 패키지 파일 이름 -->
<property name="aircon-pkg" value="${aircon}/${aircon}.zip" />
<delete file="${aircon-pkg}" />

<!-- zip으로 압축해서 패키지 파일 만들기 -->
<zip destfile="${aircon-pkg}">
<zipfileset dir="${aircon}" includes="**/*" excludes=".svn" />
</zip>

<!-- 패키지파일만 dist로 옮기기 -->
<copy file="${aircon-pkg}" todir="${dist}" />


</target>

<target name="tempSensor" depends="compile" description="온도센서 패키지를 컴파일해서 패키지로 만든다">
<!-- jar파일로 일단 묶기 -->
<jar destfile="${dist}/${tempSensor}-bin.jar" basedir="${bin}"
includes=
"org/foo/bar/service/**, net/hybus/usn/temperature/**" />


<!-- 패키지파일로 묶을 준비하기 -->
<move file="${dist}/${tempSensor}-bin.jar" todir="${tempSensor}" />

<!-- 기존 패키지 파일 삭제 -->
<!-- 패키지 파일 이름 -->
<property name="tempSensor-pkg" value="${tempSensor}/${tempSensor}.zip" />
<delete file="${tempSensor-pkg}" />

<!-- zip으로 압축해서 패키지 파일 만들기 -->
<zip destfile="${tempSensor-pkg}">
<zipfileset dir="${tempSensor}" includes="**/*" excludes=".svn" />
</zip>

<!-- 패키지파일만 dist로 옮기기 -->
<copy file="${tempSensor-pkg}" todir="${dist}" />


</target>

<target name="contemp" depends="compile" description="온도조절 서비스를 컴파일해서 패키지로 만든다">
<!-- jar파일로 일단 묶기 -->
<jar destfile="${dist}/${contemp}-bin.jar" basedir="${bin}"
includes=
"org/foo/bar/service/**, lab/bar/service/contemp/**" />


<!-- 패키지파일로 묶을 준비하기 -->
<move file="${dist}/${contemp}-bin.jar" todir="${contemp}" />

<!-- 기존 패키지 파일 삭제 -->
<!-- 패키지 파일 이름 -->
<property name="contemp-pkg" value="${contemp}/${contemp}.zip" />
<delete file="${contemp-pkg}" />

<!-- zip으로 압축해서 패키지 파일 만들기 -->
<zip destfile="${contemp-pkg}">
<zipfileset dir="${contemp}" includes="**/*" excludes=".svn" />
</zip>

<!-- 패키지파일만 dist로 옮기기 -->
<copy file="${contemp-pkg}" todir="${dist}" />

</target>
</project>
[본문링크] ANT 사용 예제 - 1
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=31583
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.