提及Ant打包和发布ear

    技术2025-02-05  13

     

     提及Ant打包和发布ear。在本文中给出Ant打包和 发布ear 的详细  文件。 文件内容应该不难理解。 [本文给出的是 jboss 部署]。这和我的另一篇文章《 apache2.2 tomcat5.5 jboss4.2搭建 web集群+应用集群》是相对应的。       说明:target                prepare: 创建classes文件夹                compile: 编绎                copycf:  拷贝配置文件[这里是拷贝一些配置文件,比如spring 的配置文件、log4j配置文件、二级缓存配置文件、bean的映射文件,因为 compile: 编绎  时只编译 java 文件,其他文件是不管的。]                ejbjar: 创建ejb jar包[注意配置 manifest Class-Path ]                webwar: 创建WEB发布包[注意配置 manifest Class-Path ]                ear:    创建EAR发布包[注意添加 第三方jar包]                    <project name="ear" default="deploy" basedir="..">    <property environment="env" />    <property name="app.dir" value="${basedir}" />    <property name="src.dir" value="${app.dir}/JavaSource" />    <property name="build.dir" value="${app.dir}/build" />    <property name="classes.dir" value="${app.dir}/build/classes" />    <property name="webcontent.dir" value="${app.dir}/WebContent" />    <property name="jboss.home" value="${env.JBOSS_HOME}" />    <property name="jboss.server.config" value="default" />    <path id="build.classpath" description="编译时classpath">        <fileset dir="${webcontent.dir}/WEB-INF/lib">            <include name="*.jar" />        </fileset>        <pathelement location="${classes.dir}" />    </path>      <target name="prepare" depends="clean" description="创建classes文件夹">        <mkdir dir="${classes.dir}" />    </target>    <target name="compile" depends="prepare" description="编绎">        <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on" deprecation="on" optimize="off" includes="**">            <classpath refid="build.classpath" />        </javac>    </target>      <target name="copycf" depends="compile" description="拷贝配置文件">        <copy todir="${classes.dir}" >            <fileset dir="${src.dir}">              <include name="*.xml" />              <include name="*.properties" />              <exclude name="*.log" />            </fileset>        </copy>              <copy todir="${classes.dir}/sezelee/cc/bean" >            <fileset dir="${src.dir}/sezelee/cc/bean">              <include name="*.xml" />              <include name="*.properties" />              <exclude name="*.log" />            </fileset>        </copy>    </target>        <target name="sessionInterface" depends="copycf" description="创建session bean接口包">        <jar destfile="${app.dir}/interface.jar">            <fileset dir="${classes.dir}">                <include name="sezelee/cc/service/*.class" />            </fileset>        </jar>    </target>    <target name="ejbjar" depends="sessionInterface" description="创建ejb jar包">        <jar destfile="${app.dir}/ejb.jar">            <fileset dir="${classes.dir}">                <include name="**" />            </fileset>            <manifest>                <attribute name="Class-Path" value="mysql-connector-java-3.1.13-bin.jar commons-lang-2.3.jar jotm-core.jar jotm-client.jar ow2-connector-1.5-spec.jar xapool.jar spring.jar oscache-2.1.jar ehcache-1.2.3.jar"/>            </manifest>        </jar>    </target>      <target name="webwar" depends="ejbjar" description="创建WEB发布包">        <war destfile="${app.dir}/web.war" webxml="${webcontent.dir}/WEB-INF/web.xml">            <fileset dir="${webcontent.dir}">                <include name="*.jsp"/>                <exclude name="WEB-INF/web.xml"/>                <exclude name="WEB-INF/lib/**"/>            </fileset>            <manifest>                <attribute name="Class-Path" value="mysql-connector-java-3.1.13-bin.jar commons-lang-2.3.jar jotm-core.jar jotm-client.jar ow2-connector-1.5-spec.jar xapool.jar spring.jar oscache-2.1.jar ehcache-1.2.3.jar"/>            </manifest>        </war>    </target>    <target name="ear" depends="webwar" description="创建EAR发布包">        <ear destfile="${app.dir}/ejbbbsseserver.ear" appxml="${build.dir}/META-INF/application.xml">            <fileset dir="${app.dir}">                <include name="ejb.jar"/>                <include name="web.war"/>            </fileset>            <fileset dir="${webcontent.dir}/WEB-INF/lib" >                <include name="mysql-connector-java-3.1.13-bin.jar" />                <include name="commons-lang-2.3.jar" />                <include name="jotm-core.jar" />                <include name="jotm-client.jar" />                <include name="ow2-connector-1.5-spec.jar" />                <include name="xapool.jar" />                <include name="spring.jar" />                <include name="oscache-2.1.jar" />                <include name="ehcache-1.2.3.jar" />            </fileset>        </ear>    </target>      <target name="deploy" depends="ear">        <copy file="${app.dir}/ejbbbsseserver.ear" todir="${jboss.home}/server/${jboss.server.config}/deploy" />    </target>    <target name="clean">        <delete>            <fileset dir="${app.dir}">                <include name="ejb.jar"/>                <include name="web.war"/>                <include name="interface.jar"/>            </fileset>        </delete>        <delete dir="${classes.dir}" />              <!-- -->        <delete file="${jboss.home}/server/${jboss.server.config}/deploy/ejbbbsseserver.ear" />          </target></project>

    最新回复(0)