ant打包java和groovy混合代码

<project default="jar" name="test">
    <!-- 工程目录结构
   project    
       |-bin    
       |-src    
       |-lib    
       |-out    
       |-build.xml    
   -->
    <property name="lib.dir" value="lib"/>
    <property name="src.dir" value="src"/>
    <property name="classes.dir" value="bin"/>

    <property name="output.dir" value="./"/>
    <property name="run.dir" value="test"/>
    <property name="jarname" value="../test-1.0.0.jar"/>

    <!--链接采集综合入口-->
    <property name="mainclass" value="com.miniframe.monitor.main.Test"/>

    <!-- 第三方jar包的路径 -->
    <path id="lib-classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
        </fileset>
    </path>
    <path id="src-path">
        <fileset dir="${src.dir}">
            <include name="**/**"/>
        </fileset>
    </path>

    <!-- 1. 初始化工作,如创建目录等 -->
    <target name="init" depends="clean">
        <mkdir dir="${classes.dir}"/>
        <mkdir dir="${output.dir}"/>
    </target>
    <!--清除文件-->
    <target name="clean">
        <delete dir="../test-1.0.0.jar"/>
    </target>

  <!-- groovyc编译指定 -->
    <taskdef name="groovyc"
             classname="org.codehaus.groovy.ant.Groovyc"
             classpathref="lib-classpath"/>
    <!-- 2. 编译 -->
    <target name="compile" depends="init">
        <groovyc srcdir="${src.dir}" destdir="${classes.dir}" >
            <classpath refid="lib-classpath"/>
            <javac source="1.8" target="1.8" debug="on" />
        </groovyc>
        <!--<javac srcdir="${src.dir}" destdir="${classes.dir}" includeAntRuntime="false">-->
            <!--<compilerarg line="-encoding UTF-8"/>-->
            <!--<classpath refid="lib-classpath"/>-->
        <!--</javac>-->
        <copyfile dest="${classes.dir}/applicationContext.xml" src="${src.dir}/applicationContext.xml"/>
...
    </target>

    <!-- 3. 打包jar文件 -->
    <target name="jar" depends="compile">
        <!--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="*"/>
                </chainedmapper>
            </mapper>
            <path refid="lib-classpath"/>
        </pathconvert>


        <!-- jar文件的输出路径 -->
        <jar destfile="${output.dir}/${jarname}" basedir="${classes.dir}">

            ...
            <!-- groovyc依赖的jar包 -->
            <zipfileset src="lib/groovy-all-2.4.15.jar"/>

            <manifest>
                <attribute name="Main-class" value="${mainclass}"/>
                <attribute name="Class-Path" value="${mf.classpath}"/>
            </manifest>
        </jar>
    </target>

</project>

 

google很久的东西,写博客记录一下

附件为jar包下载地址

https://download.csdn.net/download/a343981218/11140739

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘摇的海啸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值