Ant - 如何将$ {ant.project.name}设置为项目文件夹名称?

时间:2012-11-26 19:59:47

标签: ant

如何设置$ {ant.project.name}值?我想把它设置为: $ {ant.project.name} = $ {BASEDIR}

我不想从build.xml设置项目名称。我的想法是 - 它应该自动获取文件夹的名称。

这可能吗?

3 个答案:

答案 0 :(得分:9)

ANT属性 ant.project.name 旨在返回显示在构建文件顶部的字符串。它具有特殊意义,不应该真正改变。

以下示例演示了如何使用替代属性(这也适用于Windows):

<project name="demo" default="run">

    <basename property="my.project.name" file="${basedir}"/>

    <target name="run">
        <echo message="ant.project.name=${ant.project.name}"/>
        <echo message="my.project.name=${my.project.name}"/>
    </target>

</project>

具有以下输出

run:
     [echo] ant.project.name=demo
     [echo] my.project.name=myprojectdirname

答案 1 :(得分:2)

为什么在设置心中所需的任何其他属性时,您是否打算设置此特定属性?它也没有任何意义。项目名称完全独立于您签出目录的目录名称。

但是,如果您坚持,则可以通过不在${ant.project.name}实体中设置<project>来设置<project basedir="." default="package"> <!-- Notice no name! --> <basename property="ant.project.name" file="${basedir}"/> <target name="package"> <echo>The name of this project is ${ant.project.name}</echo> </target> </project>

{{1}}

答案 2 :(得分:1)

ant.project.name属性由Ant在运行时设置,无法更改。有一些内置参数,documented on the Ant website.如果您需要可以更改的属性,您可能会对ant contrib's var.感兴趣