Ant build.xml中应该只包含一个target标签

来源:互联网 发布:怎么样注册农村淘宝 编辑:程序博客网 时间:2024/06/03 16:59

今天在配置工程环境时,遇到一个Ant问题,之前一直都是由同事来管理这类环境问题的,但是他离职了,只能自己来研究。

下面是旧版本工程的build.xml内容:

<?xml version="1.0" encoding="UTF-8"?><project name="ccrl151" default="default" basedir=".">    <description>Builds, tests, and runs the project ccrl151.</description>    <import file="nbproject/build-impl.xml"/>    <target name="-post-compile">        <signjar alias="codesign2015" keystore="${build.web.dir}//keystore.jks"                 storepass="xxxxxxxx" lazy="true">            <path>                <fileset dir="${build.web.dir}//jsp/hiscroapplet/lib" includes="*.jar" />                <fileset dir="${build.web.dir}//jsp/hiscroapplet" includes="*.jar" />            </path>        </signjar>    </target>    <target depends="-init-check" name="deploy-with-quicksearch">        <ant antfile="../ccrl151qh/build.xml" inheritall="false" target="dist">            <property name="deploy.on.save" value="false"/>        </ant>        <copy todir="${build.web.dir}">            <fileset dir="../ccrl151qh/build/web" excludes="META-INF/**,WEB-INF/**"/>        </copy>    </target></project>

这里有两个target,每个target执行一个任务。前一个是对所有jar包进行签名。后一个是对资源项目进行构建,然后将构建好的资源复制到本项目的构建结果中。

但是我在创建新版本的工程之后,第二个target功能失效了。经过查看打印信息和分析,发现第二个target没有被执行,不知道是什么配置有问题。一时也没有搜索到什么方案,自己尝试着添加echo打印信息,并把第二个target再次拆分成两个target,看是哪个配置没有通过,发现后面的两个target都没有执行。再后来突发一想,我直接把3个target进行合并,就好了。最后也没有弄清楚为何以前多个target可以运行成功,而现在只允许运行一个target。难道是Ant版本或者其他版本的问题?

只有一个target的build.xml:

<?xml version="1.0" encoding="UTF-8"?><project name="ccrl160" default="default" basedir=".">    <description>Builds, tests, and runs the project ccrl160.</description>    <import file="nbproject/build-impl.xml"/>    <target name="-post-compile">        <echo message="start signjar..."/>        <signjar alias="codesign2015" keystore="${build.web.dir}//keystore.jks"                 storepass="changeit" lazy="true">            <path>                <fileset dir="${build.web.dir}//jsp/hiscroapplet/lib" includes="*.jar" />                <fileset dir="${build.web.dir}//jsp/hiscroapplet" includes="*.jar" />            </path>        </signjar>        <echo message="start buile quicksearch..."/>        <ant antfile="../ccrl160qh/build.xml" inheritall="false" target="dist">            <property name="deploy.on.save" value="false"/>        </ant>                <echo message="start copy quicksearch..."/>        <copy todir="${build.web.dir}">            <fileset dir="../ccrl160qh/build/web" excludes="META-INF/**,WEB-INF/**"/>        </copy>    </target>

</project>


http://www.alanzeng.cn/2016/03/ant-build-xml-target/

0 0