Apache Ant

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

Apache ANT에 대한 전반적인 사항을 정리한다.
Apache ANT는 Java build 도구이다.


설치 가이드

아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.

Apache ANT 설치

  • 다운로드 사이트에서 "apache-ant-1.7.0-bin.zip"을 다운로드 한다.
  • apache-ant-1.7.0-bin.zip의 압축을 풀어 d:/OpenBiz/11_tools/ant170 (%ANT_HOME%)에 복사한다.
  • Apache ANT 설치 후 사용하기 위해서 필요한 환경을 설정한다.
    • ANT_HOME=d:/OpenBiz/11_tools/ant170
    • PATH=d:/OpenBiz/11_tools/ant170/bin (기존 PATH에 추가)
바탕화면의 "내 컴퓨터"에서 오른 마우스를 클릭한 후 "속성"을 선택한다. "고급" 탭에서 하단에 있는 "환경 변수" 버튼을 누른다. 위에 명시한 환경 변수를 추가 또는 수정한다.

환경 설정

  • 도스창에서 설치된 Apache ANT가 정상적으로 동작하는지 확인한다.
  1. "시작" 메뉴를 누른 후 "실행" 메뉴를 선택한다.
  2. 입력 화면에서 "cmd"를 입력하고 "확인" 버튼을 눌러 도스창을 띄운다.
  3. 다음 명령을 도스창에서 실행한다.
C:\> ant -version
Apache Ant version 1.7.0 compiled on December 13 2006

CentOS에서 Apache Ant 설치

yum install ant ant-*
ant -version

사용자 가이드

유용한 Tip

  • 화면에 메시지 표시
<echo message="pnus: Call util-wsrp/compile." />
<echo message="pnus: app.server.type - ${app.server.type}" />
  • 사용자 입력 받기
	<target name="zztest">
		<input addproperty="pgmName" message="Enter program name : " />
		<echo message="The program name is ${pgmName}" />
	</target>

개발 환경 설정

  • 개발용 폴더(/cloudnas/develop/) 하위 구조
  • bin/ : Compile된 ~.class 파일
  • config : 설정 파일
  • lib : 라이브러리
  • logs : 로그 파일
  • output : 임시 작업 폴더
  • src : 프로그램 소스
  • /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/lib/tools.jar 파일 생성
  • vi /cloudnas/develop/config/config.properties
proj.name=BigData
proj.root=/cloudnas/develop
proj.charset=UTF-8
proj.loglevel=Info

proj.src=${proj.root}/src
proj.lib=${proj.root}/lib
proj.config=${proj.root}/config
proj.target=${proj.root}/bin
proj.wsdl=${proj.root}/wsdl
proj.log=${proj.root}/logs
proj.output=/cloudnas/develop/output
  • vi /cloudnas/develop/config/log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
   <appender name="RollingFileAppender" class="org.apache.log4j.RollingFileAppender">
       <param name="File" value="/cloudnas/develop/logs/logfile.log" />
       <param name="MaxFileSize" value="10MB" />
       <param name="MaxBackupIndex" value="10" />
       <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" value="%d [%t] %-5p %c{2} - %m%n" />
       </layout>
   </appender>

   <root>
       <priority value ="debug" />
       <appender-ref ref="RollingFileAppender"/>
   </root>
</log4j:configuration>
  • vi /cloudnas/develop/build.xml
  • TuxedoClient2 : 프로그램 실행, 실행하기를 원하는 프로그램으로 변경한 후 작업 하세요.
  • makeJar : BigData.jar 파일 생성, Hadoop에서 필요한 jar 파일 생성시 사용
  • compile : 프로그램 컴파일
<?xml version="1.0" encoding="UTF-8"?>
<project name="BigData" default="makeJar" basedir=".">
    <property file="config/config.properties" />

    <path id="default.classpath">
        <pathelement location="${proj.config}" />
        <pathelement location="${proj.target}" />

        <pathelement location="${proj.lib}/esper/esper/lib/commons-logging-1.1.1.jar" />
        <pathelement location="${proj.lib}/esper/esper/lib/log4j-1.2.16.jar" />

        <pathelement location="${proj.lib}/hadoop/hadoop-core-1.2.1.jar" />
        <pathelement location="${proj.lib}/hadoop/lib/commons-cli-1.2.jar" />
    </path>

    <target name="TuxedoClient2">
        <echo message="TuxedoClient2 프로그램 실행" />
        <java classname="com.jopenbusiness.hadoop.esper.cli.TuxedoClient2"
              classpathref="default.classpath"
              fork="true">
            <jvmarg value="-Dfile.encoding=UTF-8" />
            <arg value="1" />
            <arg value="1000" />
            <arg value="30" />
        </java>
    </target>

    <target name="makeJar" depends="compile">
        <echo message="BigData.jar 파일 생성" />
        <delete file="${proj.output}/BigData.jar"/>
        <jar destfile="${proj.output}/BigData.jar"
             basedir="${proj.target}" />
    </target>

    <target name="compile">
        <echo message="프로그램 컴파일" />
        <javac srcdir="${proj.src}" destdir="${proj.target}"
               classpathref="default.classpath"
               source="1.6">
        </javac>
    </target>
</project>
  • vi /cloudnas/develop/makeJar.bash
  • 실행 권한 설정 : chmod 744 /cloudnas/develop/makeJar.bash
  • 실행을 하면 먼저 컴파일을 한 후에 /cloudnas/develop/output/BigData.jar.jar 파일을 생성 합니다.
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
cd /cloudnas/develop
ant makeJar
export JAVA_HOME=/usr/lib/jvm/jre

참고 문헌