java

位置:IT落伍者 >> java >> 浏览文章

使用Ant编译Java工程[4]


发布日期:2023年04月18日
 
使用Ant编译Java工程[4]

projectgetReference(task)

注意如果task还没有运行就不会被生效(例如不设定属性)如果你在随后配置它你所作的一切都会被覆盖

注意未来的Ant版本可能不会兼容这里所提的属性因为很有可能根本没有task实例只有proxies

Properties

一个project可以有很多的properties可以在buildfile中用property task来设定或在Ant之外设定一个property有一个名字和一个值property可用于task的属性值这是通过将属性名放在${}之间并放在属性值的位置来实现的例如如果有一个property builddir的值是build这个property就可用于属性值${builddir}/classes这个值就可被解析为build/classes

内置属性

如果你使用了<property> task 定义了所有的系统属性Ant允许你使用这些属性例如${osname}对应操作系统的名字

要想得到系统属性的列表可参考the Javadoc of SystemgetProperties

除了Java的系统属性Ant还定义了一些自己的内置属性

basedir project基目录的绝对路径 (与<project>的basedir属性一样)

antfile buildfile的绝对路径

antversion Ant的版本

antprojectname 当前执行的project的名字由<project>的name属性设定

antjavaversion Ant检测到的JVM的版本 目前的值有 and

例子

<project name=MyProject default=dist basedir=>

<! set global properties for this build >

<property name=src value=/>

<property name=build value=build/>

<property name=dist value=dist/>

<target name=init>

<! Create the time stamp >

<tstamp/>

<! Create the build directory structure used by compile >

<mkdir dir=${build}/>

</target>

<target name=compile depends=init>

<! Compile the java code from ${src} into ${build} >

<javac srcdir=${src} destdir=${build}/>

</target>

<target name=dist depends=compile>

<! Create the distribution directory >

<mkdir dir=${dist}/lib/>

<! Put everything in ${build} into the MyProject${DSTAMP}jar file >

<jar jarfile=${dist}/lib/MyProject${DSTAMP}jar basedir=${build}/>

</target>

<target name=clean>

<! Delete the ${build} and ${dist} directory trees >

<delete dir=${build}/>

<delete dir=${dist}/>

</target>

</project>

[] [] [] [] [] []

               

上一篇:用ActionForward优化你的Struts应用程序[1]

下一篇:使用Ant编译Java工程[3]