Eclipse, ANT, 그리고 EJB (java) 개발환경

[출처] http://blog.naver.com/cjturtle/90028172222

Eclipse와 ANT의 연동 작업, 빌드 파일의 제작필요한 기술

2008/02/22 18:37

복사http://blog.naver.com/cjturtle/90028172222

[48] Eclipse와 ANT의 연동 작업, 빌드 파일의 제작|ejb
2008.01.16 12:01
퉁퉁이(skybb1224) 카페 매니저
http://cafe.naver.com/loveloveitwill/204 <INPUT id="cafeurlstr" type="hidden" value="http://cafe.naver.com/loveloveitwill/204" name="cafeurlstr">

[48] Eclipse와 ANT의 연동 작업, 빌드 파일의 제작

▩ 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]를 선택한다.

+ Recent posts