如何设置$ {ant.project.name}值?我想把它设置为: $ {ant.project.name} = $ {BASEDIR}
我不想从build.xml设置项目名称。我的想法是 - 它应该自动获取文件夹的名称。
这可能吗?
答案 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.感兴趣