본문 바로가기

Java/[Servlet/JSP]

ant를 이용하여 컴파일, 배포(*.jar)파일 생성하기

출처  : http://blog.naver.com/jjongku/20041797003

1. 아래 주소를 들어가서 apache-ant-1.7.0-bin.zip파일을 다운받는다.
   버전은 그때 그때 달라요...^^
 
2. 다운받은 압축파일을 로컬의 적당한 디렉토리에 압축을 풀면
난 C드라이브에 바로 풀어버렸다..
c:\apache-ant-1.7.0 / bin / 파일들
c:\apache-ant-1.7.0 / docs / 파일들
c:\apache-ant-1.7.0 / etc / 파일들
c:\apache-ant-1.7.0 / lib / 파일들
여기 여러파일들이 존재한다.....
 
여기서 bin 디렉토리로 이동후 build.xml파일을 bin디렉토리에 위치한다.
 
3. 프롬프트 상에서  c:\apache-ant-1.7.0\bin> ant all 하면 몬가 실행된다..^^;;
자바파일이 없기때문에 에러도 보일것입니다.
간단히..아래와 같은 자바파일을 생성하여 c:\apache-ant-1.7.0\bin아래 src디렉토리 생성후
자바파일을 src디렉토리에 위치한후 다시 ant all을 실행하면..성공!! 후 배포파일 (jar파일)이 생성
될것이고 zip파일도 , class파일도 생성될것입니다.
 
package ex1;
public class  HelloAnt {
 public static void main(String[] args) {
  System.out.println("Hello Ant!");
 }
}

[출처] ant를 이용하여 컴파일, 배포(*.jar)파일 생성하기.|작성자 짱구


build.xml

<?xml version="1.0" encoding="euc-kr"?>
<project default="main" basedir=".">

 <!--
 ====================================================================
 properties: build.xml에서 사용하는 속성값을 설정한다.
 ====================================================================
 -->
 <property name="name" value="ex" />
 <property name="version" value="1.0" />
 <property name="src.dir" value="src" />
 <property name="build.dir" value="build" />
 <property name="classes.dir" value="${build.dir}/classes" />
 <property name="jar.file" value="${build.dir}/${name}.jar" />
 <property name="dist.dir" value="dist" />
 <property name="dist.file" value="${dist.dir}/${name}-${version}" />

 <!--
 ====================================================================
 compile 타겟 : java파일을 컴파일한다.
 ====================================================================
 -->
 <target name="compile">
  <mkdir dir="${build.dir}" />
  <mkdir dir="${classes.dir}" />
  <javac srcdir="${src.dir}" destdir="${classes.dir}">
  </javac>
 </target>


 <!--
 ====================================================================
 jars 타겟 : 컴파일한 클래스 파일을  jar로 묶는다.
 ====================================================================
 -->
 <target name="jars" depends="compile">
  <jar jarfile="${jar.file}" basedir="${classes.dir}">
  </jar>
 </target>

 <!--
 ====================================================================
 distribution 타겟 : 배포본을 만든다.
 ====================================================================
 -->
 <target name="dist" depends="jars">
  <mkdir dir="${dist.file}" />
  <zip destfile="${dist.file}.zip" basedir="${build.dir}" includes="*.jar" />
 </target>

 <!--
 ==============================================================================
 main 타겟 : 사용자가 타겟을 지정하지 않은 경우, 기본 값으로 지정되는 타겟이다.
 ==============================================================================
 -->
 <target name="main" depends="jars" />

 <!--
 ==============================================================================
 clean 타겟 : 이전의 컴파일한 클래스 파일과 배포 본을 지운다.
 ==============================================================================
 -->
 <target name="clean">
  <delete dir="${build.dir}" />
  <delete dir="${dist.dir}" />
 </target>

 <!--
 ==============================================================================
 all 타겟 : 모든 작업을 수행한다.
 ==============================================================================
 -->
 <target name="all" depends="clean, dist" /> 

</project>