ant集成maven打包

1、依赖jar:maven-ant-tasks-2.1.3.jar

2、使用自定义settings文件:settings.xml

3、build.xml中嵌入代码:

<?xml version="1.0" encoding="UTF-8"?>
<project name="yxd-cmp-cc" basedir="./" default="main" xmlns:ivy="antlib:fr.jayasoft.ivy.ant"
         xmlns:artifact="antlib:org.apache.maven.artifact.ant">
         <!--xmlns:artifact="urn:maven-artifact-ant">-->

    <!--mvn properties-->
    <property name="project.dir" value="../"/>
    <property name="mvn.lib.dir" value="${project.root}/mvn/lib"/>
    <property name="mvn.base.dir" value="../cc-emotion"/>
    <property name="mvn.target.dir" value="${mvn.base.dir}/target"/>
    <property name="mvn.src.dir" value="${mvn.base.dir}/src/main/java"/>
    <property name="mvn.conf.dir" value="${mvn.base.dir}/src/main/resources"/>
    <!--指定用哪个profile-->
    <property name="mvn.jar.version" value="${mvn.env}"/>
    <property name="mvn.jar.dir" value="${mvn.base.dir}/cc-emotion-${mvn.jar.version}.jar"/>
    <property name="mvn.jar.boot.dir" value="${mvn.base.dir}/cc-emotion-${mvn.jar.version}.jar/BOOT-INF"/>
    <property name="mvn.jar.classes.dir" value="${mvn.base.dir}/cc-emotion-${mvn.jar.version}.jar/BOOT-INF/classes"/>
    <property name="mvn.jar.lib.dir" value="${mvn.base.dir}/cc-emotion-${mvn.jar.version}.jar/BOOT-INF/lib"/>
    <!--<property name="mvn.home.dir" value="${mvn.home.path}"/>-->

    <!-- mvn Java编译CLASSPATH -->
    <path id="mvn-classpath">
        <fileset dir="${mvn.lib.dir}"/>
    </path>

    <target name="mvn-init">
        <mkdir dir="${mvn.target.dir}/classes"/>
    </target>

    <path id="maven-ant-tasks.classpath" path="${project.root}/mvn/maven-ant-tasks-2.1.3.jar"/>
    <!--<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpathref="maven-ant-tasks.classpath"/>-->
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" />
    <artifact:pom id="maven.project" file="${mvn.base.dir}/pom.xml" settingsfile="${project.root}/mvn/settings.xml" >
        <profile id="${mvn.jar.version}" active="true"/>
    </artifact:pom>

    <!-- maven libs download -->
    <target name="mvn-download-libs">
        <artifact:dependencies filesetId="dependency.fileset" usescope="compile" pomrefid="maven.project"/>

        <copy todir="${mvn.lib.dir}">
            <fileset refid="dependency.fileset"/>
            <mapper type="flatten"/>
        </copy>
    </target>

    <target name="mvn-clean">
        <artifact:mvn pom="${mvn.base.dir}/pom.xml" fork="true"  mavenversion="3.0" args="clean"/>
    </target>

    <!-- maven compile -->
    <target name="mvn-compile" depends="mvn-download-libs,mvn-init">
        <javac destdir="${mvn.target.dir}/classes" target="1.6" debug="true" encoding="UTF-8" deprecation="false"
               optimize="false" failοnerrοr="true">
            <src path="${mvn.src.dir}"/>
            <classpath refid="mvn-classpath"/>
        </javac>
    </target>

    <!--maven package-->
    <target name="mvn-package" depends="mvn-clean, mvn-compile">
        <artifact:mvn pom="${mvn.base.dir}/pom.xml" fork="true" mavenversion="3.0">
            <arg value="clean"/>
            <arg value="package"/>
            <arg value="-P${mvn.jar.version}"/>
            <arg value="-DskipTests"/>
            <jvmarg value="-Xmx1024m" />
        </artifact:mvn>

        <!-- jar拷贝-->

        <copy todir="${rel.dir}/apps">
            <fileset file="${mvn.target.dir}/cc-emotion-1.0.jar"/>
        </copy>
        <copy todir="${rel.dir}">
            <fileset file="${mvn.base.dir}/assemble/restart.sh"/>
        </copy>
    </target>

</project>

转载于:https://my.oschina.net/leeyouhui/blog/1837247

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值