ant打可执行jar包,报错找不到第三方jar的类;

<?xml version="1.0" encoding="UTF-8"?>


<project name="sayhellousejarant" default="jar" basedir=".">

    <!--定义源文件路径,其中的value换成location也行,使用value的时候,${src}得到的就是src这个值,如果使用location,得到的是src这个目录的绝对路径-->

    <property name="src" value="src" />

    <property name="classes" value="target/classes" />
    <property name="target"         value="1.8"/>
    <property name="source"         value="1.8"/>
    <property name="debuglevel"     value="source,lines,vars"/>
    
    <property name="lib.dir"     value="../lib"/>
    <property name="dir.src"        value="${basedir}/src/main/java"/>
    <property name="dir.res"        value="${basedir}/src/main/resources"/>
    <!--构造打包时Class-Path需要的路径 -->


    <!--创建编译任务,名字是compile,depends指定了comiple任务依赖init任务-->

    <target name="compile" description="comile target">

        <mkdir dir="${classes}" />
        <javac srcdir="${src}" destdir="${classes}" includeantruntime="true" source="${source}" target="${target}" encoding="UTF-8" debug="true" debuglevel="${debuglevel}">

            <!-- classpath 定义编译需要的claspath -->
            <src path="src/main/java"/>
            <src path="src/main/resources"/>
            <classpath>
                <fileset dir="../lib">
                    <include name="**.jar" />
                </fileset>
            </classpath>

        </javac>
        <copy includeemptydirs="false" todir="${classes}" preservelastmodified="true">
            <fileset dir="${dir.src}" excludes="**/**.java"/>
            <fileset dir="${dir.res}" excludes="**/**.java"/>
        </copy>
    </target>

    <!-- 创建时间戳 -->

    <tstamp />

    <!--定义jarfilename,准备进行打包操作。其中ant.project.name是ant默认的一个变量,值为最上面定义的project的name

    ${DSTAMP}为日期,格式为20111123;${TSTAMP}为时间,格式为2256,表示22点56分。-->

    <property name="jarfilename" value="util.jar" />

    <!--打包开始,名字为jar,依赖任务为compile-->

    <target name="jar" depends="compile" description="make jar file">
        <!--jar操作,jarfile指定jar包存放路径,basedir为编译后的class的目录-->
        <jar jarfile="${jarfilename}" basedir="${classes}">

            <!--为jar包指定manifest,当然,如果jar包不需要打成runnable的形式,manifest可以不要
            <mappedresources>
                <fileset dir="../lib" />
                <globmapper from="*" to="lib/*"/>
            </mappedresources>
             <fileset dir="../lib"/>-->
             <zipfileset dir="../lib" includes="*.jar"/>
            <manifest>
                <!--指定main-class-->
                <!-- <attribute name="Main-Class" value="com.rquest.riskmaster.util.Utility" /> -->
                <attribute name="Main-Class" value="com.rquest.cn.AntTest" />
                 <attribute name="Class-Path" value="lib/**.jar"/>
            </manifest>

        </jar>

    </target>


    <!--运行一下jar包,试试看效果-->
    <target name="run" depends="jar">
        <!--其实这里就是运行jar命令,注意fork一定加上,不然不起作用-->
        <java jar="${jarfilename}" fork="true">
        </java>
    </target>

</project>
 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值