Monday, July 06, 2009

간단히 만들어본 ANT Build 파일

 

정말 간단히 만들어본 ANT Build.xml파일

 

대략 적인 기능은 java컴파일하여 ftp 업로드

 

HTML/JSP파일 ftp업로드

 

주석으로 막아 놓은 부분은 jar아카이브로 묶어서 처리 ㅎㅎ

 

<?xml version="1.0" encoding="euc-kr" ?>

 <!-- 프로젝트 이름 : 이 이름으로 jar파일이 생성된다. -->
 <project name="대한통운"  basedir=".">
 
    <property name="project.name" value="${ant.project.name}"/>
 
    <property name="project.version" value="1.0"/>
 
    <property name="user.name" value="user"/>
    
  <property name="apps.name" value="${ant.project.name}"/>
 
  <!--jar 압축 파일 이름 -->
    <property name="jars.name" value="${apps.name}.jar"/>
   
  <!--소스가 있는 기준 폴더, Eclipse Project Root Folder-->
    <property name="src.dir" value="./src"/>
 
  <!--컴파일하여 class를 저장할 폴더-->
    <property name="build.dir" value="./build"/>
 
  <!--jar압축 파일이 저장될 폴더, 프로젝트 루트 디렉토리-->
    <property name="jar.dir" value="${basedir}"/>

 <!--jar압축 파일 백업본이 저장될 폴더-->
 <property name="backup.dir" value="backup"/>
 

 <!-- Deploy폴더 -->
 <property name="deploy.lib.dir"  value="./WEB-INF/lib"/>
 

 <!-- 외부 라이브러리 -->
 <path id="ext.lib">
   <fileset dir="${deploy.lib.dir}" includes="*.jar" />
 </path>
 
 <!-- 자바소스 컴파일 -->
    <target name="compile">
     <!-- BUILD 생성 -->
     <mkdir dir="${build.dir}" />
     
     <!-- XML/Properties복사 -->
     <copy todir="${build.dir}">
        <fileset dir="${src.dir}"
         includes="**/*.xml, *.properties" />
     </copy>
        <javac  srcdir= "${src.dir}"
          destdir="${build.dir}"
          excludes="**/*.class"
          classpathref="ext.lib"
          debug="on"/>
    </target>
    
 <!-- 133서버에 클래스 반영 -->
    <target name="클래스반영[1]" depends="compile">
     <ftp server="FTP서버IP" port="포트"
       remotedir="FTP로 파일 전송할 경로"
       userid="계정"
       password="암호"   verbose="yes" depends="no"  timediffauto="yes">
          <fileset dir="${build.dir}">
            <include name="**"/>
          </fileset>
     </ftp>
     <delete dir="${build.dir}" />
  </target>
 
 <!-- 134서버에 클래스 반영 -->
    <target name="클래스반영[2]" depends="compile">
     <ftp server="FTP서버IP" port="포트"
       remotedir="FTP로 파일 전송할 경로"
       userid="계정"
       password="암호"   verbose="yes" depends="no"  timediffauto="yes">
          <fileset dir="${build.dir}">
            <include name="**"/>
          </fileset>
     </ftp>
     <delete dir="${build.dir}" />
  </target>
 
  <!--jar파일 압축 타겟-->
    <!-- target name="jars" depends="compile">
        <jar destfile="${jars.name}"
        basedir="${build.dir}"    
        includes="**"
        excludes="doc/**, **/SqlMapConfig.xml"
        update="true"
        compress="false"
        index="true"
        >
        </jar>
    </target -->

  <!--jar파일 deploy-->
    <!-- target name="start.copy" depends="jars">
        <mkdir dir="${backup.dir}"/>
        <echo message="Application Name:${jars.name}"/>
        <echo message="Application Name:${jar.dir}/${jars.name}"/>
        <copy file="${jar.dir}/${jars.name}" todir="${deploy.lib.dir}" overwrite="true"/>    
        <delete file="${jar.dir}/${jars.name}"/>
    </target -->
 
 <!-- HTML/GFM등을 반영 -->
    <target name="HTML/JSP반영[1]" >
     <ftp server="FTP서버IP" port="21"
       remotedir="FTP로 파일 전송할 경로"
       userid="아이디"
       password="암호"   verbose="yes" depends="no"  timediffauto="yes">
          <fileset dir="./">
            <include name="**/a.gfm"/>
          </fileset>
     </ftp>
  </target>

 <!-- HTML/GFM등을 반영 -->
    <target name="HTML/JSP반영[2]" >
     <ftp server="FTP서버IP" port="21"
       remotedir="FTP로 파일 전송할 경로"
       userid="아이디"
       password="암호"   verbose="yes" depends="no"  timediffauto="yes">
          <fileset dir="./">
            <include name="**/a.gfm"/>
          </fileset>
     </ftp>
  </target>

</project>

 

 

#### [ANT] ftp task의 문제점
http://okjsp.pe.kr/bbs?act=VIEW&bbs=bbs4&seq=38814&pg=0&keyfield=subject&keyword=&pact=&password=

 

#### 참고 사이트
http://wiki.javajigi.net/pages/viewpage.action?pageId=179

 

#### Ant에서 SFTP task 활용하기
http://shinnara.tistory.com/127 

No comments: