使用ant生产可执行jar包

<?xml version="1.0" encoding="GB2312" ?>

<!DOCTYPE project>

<project name="Test" default="usage" basedir=".">
      <property name="project-name" value="Test"/>
      <property name="lib" value="lib"/>
      <property name="src" value="src"/>
      <property name="tar" value="bin"/>
      <property name="jar-file-name" value="a.jar" />
      <property name="main-class" value="demo.book.test.Test" />

      <path id="Third-Part Lib">
            <fileset dir="${lib}">
                  <include name="**/*.jar" />
            </fileset>
      </path>
 
      <target name="usage" description="Build file usage info (default task)">
            <echo message=" " />
            <echo message="  ${project-name} " />
            <echo message="-------------------------------------------------------" />
            <echo message="  Available Targets:" />
            <echo message="  compile    - Compiles the source code" />
            <echo message="  clean      - Delete class files and .jar file" />
            <echo message="  jar        - Generate an .jar for source code" />
            <echo message="  run        - Execute Main-Class" />
            <echo message="-------------------------------------------------------" />
      </target>

      <target name="prepare" >
            <mkdir dir="${tar}" />
      </target>

      <target name="clean" >
   <delete dir="${tar}" />
   <delete file="${jar-file-name}" />
      </target>
 
 <target name="copy-res">
  <copy todir="${tar}">
   <fileset dir="${src}">
    <exclude name="**/*.java"/>
   </fileset>
  </copy>
 </target>

      <target name="compile" depends="clean,prepare,copy-res">
   <echo message="Compiling the source code!"/>
            <javac
                  srcdir="${src}"
                  destdir="${tar}"
                  deprecation="true"
                  failοnerrοr="true" debug="true"
                  >
                  <classpath refid="Third-Part Lib"/>
            </javac>
      </target>


      <!-- 注意:classpath="${tar}" 一定要加上,否则会报"java.lang.NoClassDefFoundError"的错误!-->
      <!--
      <target name="run" depends="compile">
            <java classname="${main-class}" classpath="${tar}" fork="true" maxmemory="256m">
                  <classpath refid="Third-Part Lib"/>
            </java>
      </target>
      -->

      <target name="run" depends="jar">
            <java jar="${jar-file-name}" fork="true" maxmemory="256m"/>
      </target>

      <target name="jar" depends="compile">
            <jar destfile="${jar-file-name}" basedir="${tar}">
                  <manifest>
                        <!-- 此处需要根据需要进行修改 -->
                        <attribute name="Main-Class" value="${main-class}"/>
                        <attribute name="Class-Path" value="${lib}/activation.jar ${lib}/antlr-2.7.6.jar ${lib}/cglib-2.1.3.jar ${lib}/commons-collections-3.1.jar ${lib}/commons-logging-1.0.4.jar ${lib}/dom4j-1.6.1.jar ${lib}/ehcache-1.1.jar ${lib}/hibernate3.jar ${lib}/javax.servlet.jar ${lib}/javax.servlet.jsp.jar ${lib}/jboss-j2ee.jar ${lib}/jboss-jaxrpc.jar ${lib}/jboss-jsr77.jar ${lib}/jboss-saaj.jar ${lib}/log4j-1.2.11.jar ${lib}/mail.jar ${lib}/namespace.jar ${lib}/ojdbc14.jar ${lib}/slf4j-api-1.5.2.jar ${lib}/xml-apis.jar"/>
                  </manifest>
            </jar>
      </target>
</project>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值