Site Search :
Standard Enterprise XML Methodology Pattern Setting Tunning Other
Article Contributors
GuestBook
Javapattern Maven
XSourceGen Dev
JetSpeed Test
JLook Image
jLook Family Site


Weblogic EJB Deploy using ANT build
 
Weblogic8.1을 샘플로 하여 EJB jar파일의 빌드를 할수 있도록 properties및 build.xml을 정의하도록 하자. ( 2003/06/09 ) 382
Written by ienvyou - 최지웅
1 of 1
 
Weblogic Deploy using ANT

여기서는 간단하게 웹로직을 기반으로 ANT를 이용한 deploy를 해보도록 한다.
할때 마다 헷갈려서 아티클 쓴다.

▶ Foler 구조 

기본적인 폴터의 구조는 다음과 같다. 
 
패키지명에 의한 source디렉토리가 생성되어져 있으며, 그 아래 Home Interface, Remote Interface, 
Enterprise Bean클래스가 위치하게 되며 세개의 기본적인 파일을 이용한 XML파일은
xml이라는 디렉토리를 가정하여 테스트한다.

project_home --
                    |
                    ----ebiz
                           |
                           ----admin
                                    |
                                    ----Admin.java, AdminHome.java, AdminEJB.java(files)
                                    |
                                    ----xml (weblogic-ejbjar.xml, ejb-jar.xml이 위치)
                                    |
                                    --- conf (ANT-build를 위한 프로퍼티 저장소)
                                    |
                                    ----build (빌드파일 최종 타켓디렉토리)

위와 같은 구조로 소스샘플을 제공하며, 아래는 compile, making jar, ejbc, deploy까지의
기능을 ant xml build파일로 제공한다.

우선 conf디렉토리밑의 build.properties파일을 보도록 하자.

▶ build.properties 


#choose classic, modern, jikes, or jvc
JAVAC=modern
#JAVA_HOME=/export/home/bea/jdk141_02
#WL_HOME=/export/home/bea/weblogic81
WL_HOME=C:/bea/weblogic81
PROJECT_HOME=.

APPLICATIONS=.

#class.path=.:/export/home/bea/weblogic81/server/lib/weblogic.jar:
class.path=.;C:/bea/weblogic81/server/lib/weblogic.jar;

build.xml

<project name="ejb-basic-statelessSession" default="all" basedir=".">

  <!-- set global properties for this build -->
  <property environment="env"/>
  <property file="./conf/build.properties"/>
  <property name="build" value="build"/>
  <property name="dist" value="dist"/>
  <property name="jar.name" value="Ebiz.Admin.AdminEJB"/>


  <target name="all" depends="init, compile_ejb, jar_ejb, ejbc, copy-to-applications, clean"/>

  <target name="init">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the build directory structure used by compile
    and copy the deployment descriptors into it-->
    <mkdir dir="${build}"/>
    <mkdir dir="${build}/META-INF"/>
    <mkdir dir="${dist}"/>
    <copy todir="${build}/META-INF">
      <fileset dir="xml">
        <include name="*.xml"/>
        <exclude name="build.xml"/>
      </fileset>
    </copy>
  </target>
  

  <!-- Compile ejb classes into the build directory (jar preparation) -->
  <target name="compile_ejb" >
  	<echo>${class.path}</echo>
    <javac srcdir="." destdir="${build}" classpath="${class.path}"/>
  </target>

  <!-- Make a standard ejb jar file, including XML deployment descriptors -->
  <target name="jar_ejb" depends="compile_ejb">
    <jar jarfile="${dist}/_${jar.name}.jar"
      basedir="${build}">
    </jar>
  </target>

  <!-- Run ejbc to create the deployable jar file -->
  <target name="ejbc" depends="jar_ejb">
  <echo>${class.path}</echo>
    <java classname="weblogic.ejbc" fork="yes">
      <sysproperty key="weblogic.home" value="${WL_HOME}"/>
      <arg line="-compiler javac ${dist}/_${jar.name}.jar ${dist}/${jar.name}.jar"/>
      <classpath>
        <pathelement path="${WL_HOME}/server/lib/weblogic.jar;${class.path};"/>
      </classpath>
    </java>
  </target>
  <target name="copy-to-applications" depends="ejbc">
    <copy todir="/export/home/bea/user_projects/mydomain/applications">
      <fileset dir="dist">
     	    <include name="${jar.name}.jar"/>
      </fileset>
    </copy>
  </target>

  <target name="clean">
    <delete file="${dist}/_${jar.name}.jar"/>
    <delete dir="${build}"/>
    <delete dir="ejbcgen"/>
  </target>
</project>

Conclusion 위와 같은 파일들은 ejb의 디렉토리에 copy-paste형태로 반복적으로 사용되어질 수 있으며 단순히 build.xml의 9번째 라인에 있는 ejb의 jar파일이 생성될 이름만 바꾸어준다면 재사용되어질 수 있다. 또한 ejb각각의 디렉토리별로 build.xml을 이용하여 최상위 build파일에서 <target name="build-ejb"> <ant dir="src/ebiz/admin" target="all"/> </target> 과 같이 정의함으로서 한번에 모든 프로젝트의 빌드를 성공시킬수 있도록 링크를 걸어준다면 아주 편리하게 사용될 수 있을 것이다. 본 글 작성시간 15분... 아~ 짧았다.. ^^ ANT태크를 효과적으로 사용한다면 아주아주 유용하게 프로젝트를 진행해 나갈수 있으리라~
 
1
References
 
This Source : EJBDeploy.zip
Copyright ⓒ 2003 www.javapattern.info & www.jlook.com, an jLOOK co.,LTD