zoukankan      html  css  js  c++  java
  • java 用ant打包成jar文件

    一、下载ant包,解压放放到你的项目中

    二、在ant文件夹下创建一个build.xml文件,内容如下

    <?xml version="1.0" encoding="GB2312" ?>
    <project name="funServlet" basedir="." default="buildjar">  
        <!-- 工程目录结构
        project
            |-ant
               |-build.xml
            |-WebRoot
               |-WEB-INF
                  |-lib
                  |-classes
            |out
        -->
        <property name="lib.dir" value="../WebRoot/WEB-INF/lib"/>
        <property name="src.dir" value="../src"/>
        <property name="classes.dir" value="../WebRoot/WEB-INF/classes"/>
        <property name="output.dir" value="../out"/>
        <property name="jarname" value="funServlet.jar"/>
        <property name="mainclass" value="com.sun.servlet.funServlet"/><!--包名加class名称-->
    
        <!-- 第三方jar包的路径 -->
        <path id="lib-classpath">
            <fileset dir="${lib.dir}">
                <include name="servlet-api.jar"/>
            </fileset>
        </path>
    
        <!-- 1. 初始化工作,如创建目录等 -->
        <target name="init">
            <!--mkdir dir="${classes.dir}"/-->
            <mkdir dir="${output.dir}"/>
        </target>
    
        <!-- 2. 编译 -->
        <target name="compile" depends="init">
            <javac srcdir="${src.dir}" destdir="${classes.dir}">
                <compilerarg line="-encoding UTF-8"/>
                <classpath refid="lib-classpath"/>
            </javac>
        </target>
    
        <!-- 3. 打包jar文件 -->
        <target name="buildjar" depends="compile">
            <copy todir="${output.dir}/lib">
                <fileset dir="${lib.dir}"/>
            </copy>
    
            <!--Create a property containing all .jar files,
            prefix lib/, and seperated with a space-->
            <pathconvert property="mf.classpath" pathsep=" ">
                <mapper>
                    <chainedmapper>
                        <!-- jar包文件只留文件名,去掉目录信息 -->
                        <flattenmapper/>
                        <!-- add lib/ prefix -->
                        <globmapper from="*" to="lib/*"/>
                    </chainedmapper>
                </mapper>
                <path refid="lib-classpath"/>
             </pathconvert>
    
            <!-- jar文件的输出路径 -->
            <jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">
                <manifest>
                    <attribute name="Main-class" value="${mainclass}"/>
                    <attribute name="Class-Path" value="${mf.classpath}"/>
                </manifest>
            </jar>
        </target>
    </project>
    basedir="."  表示目录为build.xml的根目录
    <property name="lib.dir" value="../WebRoot/WEB-INF/lib"/>  要引用的第三方jar包在,父目录的WebRoot/WEB-INF/lib中。
    最输出的jar文件在与ant文件夹同级的out文件中包括引用的第三方jar和新生成的jar。

  • 相关阅读:
    MVC入门学习笔记(五)
    IIS搭配Serveru构建企业空间服务(一)
    HTMLTextBox基于WebBrowser的HTML编辑控件
    MVC入门学习笔记(一)
    MVC入门学习笔记(七)
    MVC入门学习笔记(十)
    关注以下.NET技术
    Notification状态栏通知
    Activity设置横屏显示
    通过xml文件与代码去除通知栏和标题全屏显示
  • 原文地址:https://www.cnblogs.com/aegisada/p/4551968.html
Copyright © 2011-2022 走看看