Ant 构建文件的一种写法

BuildDesEncryptor.xml

<project name="DesEncryptor" default="execute.class" basedir="."> <echo message="1.define variables~" /> <!-- 名称、版本、作者 --> <property name="name" value="DesEncryptor" /> <property name="version" value="1.0" /> <property name="author" value="yang3wei" /> <property name="libs" value="${basedir}/libs" /> <property name="desktop" value="/Users/user/Desktop" /> <property name="src" value="${basedir}/src_des" /> <property name="build" value="${basedir}/build_des" /> <property name="res_package" value="org/bruce/des/encryptor/resources" /> <property name="src.res" value="${src}/${res_package}" /> <property name="build.res" value="${build}/${res_package}" /> <!-- jar包必要参数 --> <property name="dist" value="${basedir}/dist_des" /> <property name="dist.jar.name" value="${name}${version}.jar" /> <property name="dist.jar.path" value="${dist}/${dis.jar.name}" /> <property name="entry.class" value="org.bruce.des.encryptor.entry.DesEncryptorView" /> <echo message="2.define external.jars.path" /> <path id="external.jars.path"> <fileset dir="${libs}"> <include name="**/*.jar" /> </fileset> </path> <target name="prepare"> <echo message="3.prepare" /> <mkdir dir="${build}" /> <mkdir dir="${dist}" /> </target> <target name="compile" depends="prepare"> <echo message="5.compile" /> <!-- 将src目录下的资源文件复制到 build目录下面(保留包结构) --> <delete dir="${build.res}" /> <copy todir="${build.res}"> <fileset dir="${src.res}"> <include name="**/*.jpg" /> <include name="**/*.png" /> <include name="**/*.gif" /> <include name="**/*.prop" /> <include name="**/*.properties" /> <exclude name="**/*.torrent" /> </fileset> </copy> <javac srcdir="${src}" destdir="${build}" encoding="UTF-8" deprecation="true" listfiles="off" fork="true" target="1.6" debug="false" failοnerrοr="false"> <!--给编译器指定编码,防止出现:"警告: 编码 GBK 的不可映射字符"--> <compilerarg line="-encoding UTF-8 " /> <classpath refid="external.jars.path" /> </javac> <echo message="compile finished!" /> </target> <target name="execute.class" depends="compile"> <echo message="${name}.execute" /> <java classname="${entry.class}" classpath="${build}" fork="true"> <sysproperty key="file.encoding" value="UTF-8" /> <classpath refid="external.jars.path" /> </java> </target> <target name="package2jar" depends="compile"> <echo message="${name}.package2jar" /> <jar destfile="dist.jar.path" basedir="${build}"> <manifest> <attribute name="Created-By" value="${author}" /> <attribute name="Main-Class" value="${entry.class}" /> </manifest> <zipfileset excludes="META-INF/*.SF" src="./libs/IOUtils.jar" /> </jar> </target> <target name="execute.jar" depends="package2jar"> <echo message="${name}.jar.execute" /> <java fork="true" failοnerrοr="true" jar="dist.jar.path"> <sysproperty key="file.encoding" value="UTF-8" /> </java> </target> <target name="copy2desktop" depends="package2jar"> <echo message="${name}.copy2desktop" /> <copy file="dist.jar.path" tofile="${desktop}/${dist.jar.name}" /> </target> <target name="clean"> <delete dir="${build}" /> <delete file="dist.jar.path" /> <delete dir="${dist}" /> </target> <target name="rerun" depends="clean"> <ant antfile="BuildDesEncryptor.xml" target="execute.class" /> </target> </project>
要注意的是,本次我将ant 默认的 build.xml 文件名改成了 BuildDesEncryptor.xml

该操作会导致一个问题:

在执行 rerun 这个 target 的时候,竟然报出错误说找不到 build.xml 文件

很显然是因为我没有使用默认的文件名称所致。

<ant antfile="BuildDesEncryptor.xml" target="execute.class" />

上面这行我之前是按如下的方式写的

<ant target="execute.class" />

可见:

如果构建文件没有使用默认的 build.xml 作为文件名的话

ant 标签里最好还是给写上 antfile 这个属性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值