Programming Tools/Eclipse2009. 2. 21. 15:48



 Eclipse와 ANT의 연동 작업
   - eclipse 2.1.1에는 Ant 1.5.3버전이 포함되어 있습니다.
   - eclipse 3.1.x에는 Ant 1.6.5버전이 포함되어 있습니다.
  

1. Ant의 설정
   - [Window --> Preference] Ant 노드의 "Names:"필드에 빌드할 파일을 나열한다.
     기본 환경을 설정한다.

 

▩ 빌드 파일의 제작
   - src
   - lib
   - bin

1. 빌드의 설계
   - clean --> compile --> mkjar --> dist --> run
   - [Project 선택 --> New --> File] build.xml입력

 

2. 기본 타겟의 지정
   - default="start.copy" :
     최초로 시작되는 타켓은 start.copy
   - <target name="start.copy" depends="jars">:
     jars에 의존함으로 jars 타겟이 먼저 실행됩니다.
   - <target name="jars" depends="compile">:
     compile에 의존함으로 compile 타겟이 먼저 실행됩니다.
   - <javac srcdir= "${src.dir}":
     컴파일될 java 소스 파일이 있는 경로 지정
   - destdir="${build.dir}":
     컴파일되어 class 파일이 저장될 경로 지정
   - includes="ejb/**,test/**":
     ejb, test 폴더의 하위 폴더를 포함해 모든 파일을 컴파일 지정합니다.
   - excludes="ejb/*.class":
     이미 컴파일된 확장자가 .class인 파일은 제외합니다.
   - classpath="${classpath}${classpath_weblogic}":
     컴파일시 참조할 패키지를 명시합니다.
   - <jar destfile="${dist.dir}/${jars.name}":
     압축 파일명을 지정합니다.
   - basedir="${build.dir}":
     압축할 소스가 있는 폴더를 지정합니다.
   - includes="classes/**": 압축할 파일들을 지정합니다.
   - compress="true"      : 압축을 합니다.
   - <mkdir dir="${deploy.dir}"/>:
     압축 파일을 저장할 폴더를 생성합니다.
   - <echo message="Application Name:${jars.name}"/>:
     ANT의 실행 메세지를 출력합니다.
   - <copy file="${dist.dir}/${jars.name}" todir="${deploy.dir}" overwrite="true"/>     
     압축된 jar 파일을 지정된 폴더로 복사합니다.
   - <copy file="${dist.dir}/${jars.name}" todir="${deploy.weblogic.dir}" overwrite="true"/>
     weblogic application폴더로 jar 파일을 복사합니다.      
   - <copy file="${dist.dir}/${jars.name}" todir="${deploy.tomcat.dir}" overwrite="true"/>     
     Tomcat webapps 폴더로 jar 파일을 복사합니다.      
   - <delete file="${dist.dir}/${jars.name}"/>:
     복사가 끝난 후 삭제합니다.

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

<project name="Board" default="start.copy" basedir=".">
    <property name="project.name" value="$ant.project.name"/>
    <property name="project.version" value="1.0"/>
    <property name="user.name" value="왕눈이"/>
     
    <!--Eclipse Project Name-->
 <property name="apps.name" value="Board"/>
 <!--jar 압축 파일 이름, Board.jar-->
    <property name="jars.name" value="${apps.name}.jar"/>
    <!--소스가 있는 기준 폴더-->
    <property name="src.dir" value="."/>
 <!--컴파일하여 class를 저장할 폴더-->
    <property name="build.dir" value="./classes"/>
 <!--jar압축 파일이 저장될 폴더-->
    <property name="dist.dir" value="."/>
 <!--jar압축 파일 백업본이 저장될 폴더-->
 <property name="deploy.dir" value="deploy"/>
 <!--EJB Component 폴더-->
    <property name="deploy.weblogic.dir" value="C:/bea/user_projects/domains/ejb2030/applications"/>
 <!--Tomcat lib 폴더-->
    <property name="deploy.tomcat.dir" value="C:/tomcat-5.0.19/webapps/ejb2030/WEB-INF/lib"/> 
 <!--실행및 컴파일시 참조할 classpath 폴더-->
    <property name="classpath" value="./classes;"/>
 <!--실행및 컴파일시 참조할 classpath_weblogic 폴더-->
    <property name="classpath_weblogic" value="C:/bea/weblogic81/server/lib/weblogic.jar"/>
    <!--Documentation File 생성 폴더-->
    <property name="javadoc.dir" value="docs/api"/>

 <!--컴파일 타겟-->
    <target name="compile">
        <javac srcdir= "${src.dir}"
        destdir="${build.dir}"
        includes="ejb/**,test/**"
        excludes="ejb/*.class"
        classpath="${classpath}${classpath_weblogic}"
        debug="on"
        />
    </target>
         
    <!--*은 모든 패키지, ','는 특정 패키지 나열-->
    <target name="javadoc" depends="compile">
        <mkdir dir="${javadoc.dir}"/>
        <javadoc author="true"
        destdir="${javadoc.dir}"
        packagenames="*"
        sourcepath="${src.dir}"
        classpath="${classpath}${classpath_weblogic}"         
        use="true"
        version="true"
        windowtitle="documentation"
        private="true"/>
    </target>

    <target name="jars" depends="javadoc">
        <jar destfile="${dist.dir}/${jars.name}"
        basedir="${build.dir}"
        includes="classes/**"
        compress="true"
        index="true"
        manifest="${src.dir}/MANIFEST.MF"
        >
            <fileset dir="${build.dir}"/>
        </jar>
    </target>

    <target name="start.copy" depends="jars">
        <mkdir dir="${deploy.dir}"/>
        <echo message="Application Name:${jars.name}"/>
        <echo message="Application Name:${dist.dir}/${jars.name}"/>
        <copy file="${dist.dir}/${jars.name}" todir="${deploy.dir}" overwrite="true"/>     
        <copy file="${dist.dir}/${jars.name}" todir="${deploy.weblogic.dir}" overwrite="true"/>
        <copy file="${dist.dir}/${jars.name}" todir="${deploy.tomcat.dir}" overwrite="true"/>     
        <delete file="${dist.dir}/${jars.name}"/>
    </target>

</project>

 

 


>>>>> EJB Component 배포용 단순한 Build.xml(권장)
   - default="start.copy" :
     최초로 시작되는 타켓은 start.copy
   - <target name="start.copy" depends="jars">:
     jars에 의존함으로 jars 타겟이 먼저 실행됩니다.
   - <target name="jars" depends="compile">:
     compile에 의존함으로 compile 타겟이 먼저 실행됩니다.
   - <javac srcdir= "${src.dir}":
     컴파일될 java 소스 파일이 있는 경로 지정
   - destdir="${build.dir}":
     컴파일되어 class 파일이 저장될 경로 지정
   - includes="ejb/**,test/**":
     ejb, test 폴더의 하위 폴더를 포함해 모든 파일을 컴파일 지정합니다.
   - excludes="ejb/*.class":
     이미 컴파일된 확장자가 .class인 파일은 제외합니다.
   - classpath="${classpath}${classpath_weblogic}":
     컴파일시 참조할 패키지를 명시합니다.
   - <jar destfile="${dist.dir}/${jars.name}":
     압축 파일명을 지정합니다.
   - basedir="${build.dir}":
     압축할 소스가 있는 폴더를 지정합니다.
   - includes="classes/**": 압축할 파일들을 지정합니다.
   - compress="true"      : 압축을 합니다.
   - <mkdir dir="${deploy.dir}"/>:
     압축 파일을 저장할 폴더를 생성합니다.
   - <echo message="Application Name:${jars.name}"/>:
     ANT의 실행 메세지를 출력합니다.
   - <copy file="${dist.dir}/${jars.name}" todir="${deploy.dir}" overwrite="true"/>     
     압축된 jar 파일을 지정된 폴더로 복사합니다.
   - <copy file="${dist.dir}/${jars.name}" todir="${deploy.weblogic.dir}" overwrite="true"/>
     weblogic application폴더로 jar 파일을 복사합니다.      
   - <copy file="${dist.dir}/${jars.name}" todir="${deploy.tomcat.dir}" overwrite="true"/>     
     Tomcat webapps 폴더로 jar 파일을 복사합니다.      
   - <delete file="${dist.dir}/${jars.name}"/>:
     복사가 끝난 후 삭제합니다.


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

<project name="Board" default="start.copy" basedir=".">
    <property name="project.name" value="$ant.project.name"/>
    <property name="project.version" value="1.0"/>
    <property name="user.name" value="왕눈이"/>
     
    <!--Eclipse Project Name-->
 <property name="apps.name" value="Board"/>
 <!--jar 압축 파일 이름, Board.jar-->
    <property name="jars.name" value="${apps.name}.jar"/>
    <!--소스가 있는 기준 폴더-->
    <property name="src.dir" value="."/>
 <!--컴파일하여 class를 저장할 폴더-->
    <property name="build.dir" value="./classes"/>
 <!--jar압축 파일이 저장될 폴더-->
    <property name="dist.dir" value="."/>
 <!--jar압축 파일 백업본이 저장될 폴더-->
 <property name="deploy.dir" value="deploy"/>
 <!--EJB Component 폴더-->
    <property name="deploy.weblogic.dir" value="C:/bea/user_projects/domains/ejb2030/applications"/>
 <!--Tomcat lib 폴더-->
    <property name="deploy.tomcat.dir" value="C:/tomcat-5.0.19/webapps/ejb2030/WEB-INF/lib"/> 
 <!--실행및 컴파일시 참조할 classpath 폴더-->
    <property name="classpath" value="./classes;"/>
 <!--실행및 컴파일시 참조할 classpath_weblogic 폴더-->
    <property name="classpath_weblogic" value="C:/bea/weblogic81/server/lib/weblogic.jar"/>
    <!--Documentation File 생성 폴더-->
    <property name="javadoc.dir" value="docs/api"/>

 <!--컴파일 타겟-->
    <target name="compile">
        <javac srcdir= "${src.dir}"
        destdir="${build.dir}"
        includes="ejb/**,test/**"
        excludes="ejb/*.class"
        classpath="${classpath}${classpath_weblogic}"
        debug="on"
        />
    </target>
         
    <target name="jars" depends="compile">
        <jar destfile="${dist.dir}/${jars.name}"
        basedir="${build.dir}"
        includes="classes/**"
        compress="true"
        index="true"
        manifest="${src.dir}/MANIFEST.MF"
        >
            <fileset dir="${build.dir}"/>
        </jar>
    </target>

    <target name="start.copy" depends="jars">
        <mkdir dir="${deploy.dir}"/>
        <echo message="Application Name:${jars.name}"/>
        <echo message="Application Name:${dist.dir}/${jars.name}"/>
        <copy file="${dist.dir}/${jars.name}" todir="${deploy.dir}" overwrite="true"/>     
        <copy file="${dist.dir}/${jars.name}" todir="${deploy.weblogic.dir}" overwrite="true"/>
        <copy file="${dist.dir}/${jars.name}" todir="${deploy.tomcat.dir}" overwrite="true"/>     
        <delete file="${dist.dir}/${jars.name}"/>
    </target>

</project>

 


 
 
 
3. [package Explorer]에서 "build.xml"을 선택하고 팝업메뉴에서 [Run As -- Ant Build]를 선택한다.




Posted by BAGE