您的位置:首页 > 产品设计 > UI/UE

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

2016-03-03 18:55 399 查看
今天在配置工程环境时,遇到一个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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: