Showing posts with label Ant. Show all posts
Showing posts with label Ant. Show all posts

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