有现成的APIs可以使用,jacob。
具体可以看 http://fanhjcn.bokee.com/2269599.html

解决方案 »

  1.   

    <?xml version="1.0" encoding="gb2312"?>
    <project name="HRBS" basedir="." default="ear">
    <description>Hrbs Compile File</description>
    <tstamp>
    <format property="BUILD_TIME" pattern="yyyy-MM-dd HH:mm:ss" />
    </tstamp>
    <property file="build.properties" />
    <property name="java.dir" value="${src.dir}/java" /> <property name="config.dir" value="${src.dir}/config" />
    <property name="config.app.dir" value="${src.dir}/config/app" />
    <property name="config.web.dir" value="${src.dir}/config/web" />
    <property name="config.ejb.dir" value="${src.dir}/config/ejb" />
    <property name="web.dir" value="${src.dir}/webroot" />
    <property name="ejb.dir" value="${src.dir}/ejb" />
    <property name="build_by" value="zhongyq" />

    <path id="master-classpath">
    <fileset dir="${lib.dir}">
    <include name="*.zip" />
    <include name="*.jar" />
    </fileset>
    <pathelement path="${build.dir}" />
    </path> <!-- 初始化:建立两个文件夹 -->
    <target name="create" depends="clean" description="新建所有输出文件包括build和部署目录">
    <mkdir dir="${build.classes.dir}" />
    <mkdir dir="${rel.dir}" />
    </target> <!-- 编译所有java文件放入build文件夹 -->
    <target name="build" depends="create" description="Compile main source tree java files">
    <javac destdir="${build.classes.dir}">
    <src path="${java.dir}" />
    <classpath refid="master-classpath" />
    </javac>
    </target> <!-- 在打war包之前,将所有class文件拷入WEB-INF下的classes文件夹,将config/web文件夹下的配置文件拷入WEB-INF下. -->
    <target name="prepare_war" depends="clean_war,build" description="prepare war">
    <copy todir="${web.dir}/WEB-INF/classes">
    <fileset dir="${build.classes.dir}" includes="${web.classes}" />
    </copy>
    <copy todir="${web.dir}/WEB-INF">
    <fileset dir="${config.web.dir}" />
    </copy>
    </target>

    <!-- 在web.xml文件及jar包的配置下,将webroot目录打war包. -->
    <target name="war" depends="prepare_war" description="assemble war">
    <war warfile="${rel.dir}/${project.name}.war" basedir="${web.dir}" webxml="${config.web.dir}/web.xml" excludes="**/web.xml">
    <zipfileset dir="${lib.dir}" prefix="WEB-INF/lib" 
    includes="classes12.zip,saxpath.jar,hrwaf2.jar,jstl.jar,mpc-ejb-client.jar,poi-2.5.1-final-20040804.jar,eoaEjb.jar,standard.jar" 
    excludes="weblogic.jar,weblogic_sp.jar,webservices.jar,sso_client.jar,netegrity_wls_http_bridge.jar" />
    <zipfileset src="${lib.dir}/mpc-ejb.jar" prefix="WEB-INF/classes">
    <include name="com/paic/hr/waf/mpc/dto/*.class" />
    <include name="com/paic/hr/waf/mpc/business/facade/asyncsender/*Local*.class" />
    </zipfileset>
    </war>
    </target>
      

  2.   

    <!-- Assemble EJB JAR module. -->
    <!-- Make a standard ejb jar file, including XML deployment descriptors -->
    <target name="jar_ejb" depends="build" description="assemble ejb">
    <!-- 发布 hrbs-ejb.jar -->
    <jar jarfile="${rel.dir}/hrbs-ejb.jar">
    <fileset dir="${build.classes.dir}" includes="${hrbs.classes}" />
    <fileset dir="${config.ejb.dir}/hrbs" includes="META-INF/**" />
    <zipfileset src="${lib.dir}/hrwaf2.jar">
    <include name="org/apache/log4j/**" />
    <include name="org/apache/xerces/**" />
    <include name="junit/runner/**" />
    <include name="junit/swingui/icons/**" />
    <include name="com/paic/hr/waf/common/**" />
    <include name="com/paic/hr/waf/exceptions/HrException.class" />
    <include name="com/paic/hr/waf/presentation/UserResponse.class" />
    <include name="com/paic/hr/waf/service/DataSource.class" />
    <include name="com/paic/hr/waf/service/DataSourceLocator.class" />
    <include name="com/paic/hr/waf/service/DBConnectionException.class" />
    <include name="com/paic/hr/waf/util/StringHelper.class" />
    <include name="javax/xml/parsers/*.class" />
    <include name="font_metrics.properties" />
    <include name="stylesheet.css" />
    </zipfileset>
    </jar>

    <!-- 发布 hrta-ejb.jar -->
    <jar jarfile="${rel.dir}/hrta-ejb.jar">
    <fileset dir="${build.classes.dir}" includes="${hrta.classes}" />
    <fileset dir="${config.ejb.dir}/hrta" includes="META-INF/**" />
    <zipfileset src="${lib.dir}/hrwaf2.jar">
    <include name="org/apache/log4j/**" />
    <include name="com/paic/eoa/biz/service/ejb/*.class" />
    <include name="com/paic/hr/waf/common/**" />
    <include name="com/paic/hr/waf/exceptions/**" />
    <include name="com/paic/hr/waf/integration/**" />
    <include name="com/paic/hr/waf/presentation/UserResponse.class" />
    <include name="com/paic/hr/waf/service/*.class" />
    <include name="com/paic/hr/waf/util/StringHelper.class" />
    <include name="javax/xml/parsers/*.class" />
    <include name="font_metrics.properties" />
    </zipfileset>
    <zipfileset src="${lib.dir}/mpc-ejb.jar">
    <include name="com/paic/hr/waf/mpc/business/**" />
    <include name="com/paic/hr/waf/mpc/dto/*.class" />
    </zipfileset>
    </jar>

    <!-- 发布 hrwb-ejb.jar -->
    <jar jarfile="${rel.dir}/hrwb-ejb.jar">
    <fileset dir="${build.classes.dir}" includes="${hrwb.classes}" />
    <fileset dir="${config.ejb.dir}/hrwb" includes="META-INF/**" />
    <zipfileset src="${lib.dir}/hrwaf2.jar">
    <include name="org/apache/log4j/**" />
    <include name="com/paic/hr/waf/exceptions/**" />
    <include name="com/paic/hr/waf/integration/**" />
    <include name="com/paic/hr/waf/service/*.class" />
    <include name="com/paic/hr/waf/util/StringHelper.class" />
    <include name="javax/xml/parsers/*.class" />
    <include name="font_metrics.properties" />
    </zipfileset>
    </jar>

    <!-- 发布 position-ejb.jar -->
    <jar jarfile="${rel.dir}/position-ejb.jar">
    <fileset dir="${build.classes.dir}" includes="${position.classes}" />
    <fileset dir="${config.ejb.dir}/position" includes="META-INF/**" />
    <zipfileset src="${lib.dir}/hrwaf2.jar">
    <include name="org/apache/log4j/**" />
    <include name="com/paic/hr/waf/exceptions/**" />
    <include name="com/paic/hr/waf/integration/**" />
    <include name="com/paic/hr/waf/presentation/UserResponse.class" />
    <include name="com/paic/hr/waf/service/*.class" />
    <include name="com/paic/hr/waf/util/StringHelper.class" />
    </zipfileset>
    </jar>
    </target>
      

  3.   

    <!-- 在相应的xml文件及jar包的配置下,将相应的包打成ear应用包. -->
    <target name="ear" depends="war,jar_ejb" description="创建所有应用包">
    <!-- 发布 hrbs.ear -->
    <ear destfile="${rel.dir}/${project.name}.ear" appxml="${config.app.dir}/application.xml">
    <fileset dir="${lib.dir}" 
    includes="classes12.zip,hrwaf2.jar,jstl.jar,mpc-ejb.jar,mpc-ejb-client.jar,saxpath.jar,standard.jar,eoaEjb.jar,poi-2.5.1-final-20040804.jar,hrbs.war" 
    excludes="weblogic.jar,weblogic_sp.jar,webservices.jar,sso_client.jar,netegrity_wls_http_bridge.jar" />
    <fileset dir="${rel.dir}" includes="hrbs-ejb.jar,hrta-ejb.jar,hrwb-ejb.jar,position-ejb.jar,hrbs.war" />
    <metainf dir="${config.app.dir}" includes="weblogic-application.xml" />
    <manifest>
    <attribute name="Built-By" value="${build_by}" />
    <attribute name="Built-Time" value="${BUILD_TIME}" />
    <attribute name="version" value="${build.version}" />
    </manifest>
    </ear>
    </target> <!-- Make a standard ejb jar file, including XML deployment descriptors -->
    <!-- 发布 hrbs-ejb.jar -->
    <!--
    <target name="jar_hrbs_ejb" depends="clean_hrbs_ejb,build" description="assemble hrbs-ejb">
    <jar jarfile="${rel.dir}/hrbs-ejb.jar">
    <fileset dir="${build.classes.dir}" includes="${hrbs.classes}" />
    <fileset dir="${config.ejb.dir}/hrbs" includes="META-INF/**" />
    <zipfileset src="${lib.dir}/hrwaf2.jar">
    <include name="org/apache/log4j/**" />
    <include name="org/apache/xerces/**" />
    <include name="com/paic/hr/waf/common/**" />
    <include name="com/paic/hr/waf/exceptions/HrException.class" />
    <include name="com/paic/hr/waf/presentation/UserResponse.class" />
    <include name="com/paic/hr/waf/service/DataSource.class" />
    <include name="com/paic/hr/waf/service/DataSourceLocator.class" />
    <include name="com/paic/hr/waf/service/DBConnectionException.class" />
    <include name="com/paic/hr/waf/util/StringHelper.class" />
    </zipfileset>
    </jar>
    </target>
    -->

    <!-- 发布 hrbs-ejb.jar -->
    <!--
    <target name="jar_test_ejb" depends="clean_hrbs_ejb" description="assemble test-ejb">
    <jar jarfile="${rel.dir}/test-ejb.jar">
    <zipfileset src="${lib.dir}/hrwaf2.jar" includes="${test.classes}"/>
    </jar>
    </target>
    -->

    <!-- 清除hrbs.war文件 -->
    <target name="clean_war" description="在rel目录,清空war文件">
    <delete file="${rel.dir}/${project.name}.war" />
    </target>

    <!-- 清除hrbs-ejb.jar文件 -->
    <!--
    <target name="clean_hrbs_ejb" description="在rel目录,清空hrbs-ejb文件">
    <delete file="${rel.dir}/hrbs-ejb.jar" />
    </target>
    -->

    <!-- 清除hrbs.ear文件 -->
    <target name="clean_ear" description="在rel目录,清空ear文件">
    <delete file="${rel.dir}/${project.name}.ear" />
    </target>

    <!-- 清除build、rel两个文件夹 -->
    <target name="clean" description="清空所有输出文件包括build和部署目录">
    <delete dir="${build.classes.dir}" />
    <delete dir="${rel.dir}" />
    </target>

    <!-- 帮助信息 -->
    <target name="usage">
    <echo message="Hrbs Application Build File" />
    <echo message="用法:ant -[target]" />
    <echo message="------------------------------------------------------" />
    <echo message="[target]" />
    <echo message="clean        --> 清空所有输出文件包括build和部署目录" />
    <echo message="creat        --> 新建所有输出文件包括build和部署目录" />
    <echo message="build         --> Compile main source tree java files" />
    <echo message="war          --> 创建所有war应用包" />
    <echo message="jar_ejb      --> 创建所有ejb应用包" />
    <echo message="ear           --> 创建所有ear应用包" />
    <echo message="------------------------------------------------------" />
    </target>
    </project>