• 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。

  • 相关阅读:
    几种常见排序算法
    62.Android之各分辨率定义的图片规格
    MVC
    EasyUI datebox 只读和取值
    WebForm带有图片的验证码
    WebForm水印照片
    ajax完整结构
    jquery简单动画
    webform数据导出
    WebForm 发送邮箱
  • 原文地址:https://www.cnblogs.com/aegisada/p/4551968.html
Copyright © 2020-2023  润新知