如何设置${ant.project.name}值?我想将其设置为:${ant.project.name}=${basedir}
我不想从build.xml中设置项目名称。我的想法是-它应该自动获取文件夹的名称。
这个是可能的吗?
发布于 2012-11-27 13:48:26
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发布于 2012-11-28 12:11:59
当你可以设置你内心想要的任何其他属性时,为什么你如此执着于设置这个特定的属性呢?这也真的没有任何意义。项目的名称完全独立于您将其签出到的目录的名称。
但是,如果您坚持这样做,您可以通过不在<project>实体中设置${ant.project.name}来设置它:
<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>发布于 2012-11-27 04:38:18
ant.project.name属性是由Ant在运行时设置的,不能更改。有一些类似的内置参数,documented on the Ant website.如果您需要更改属性,您可能会对ant contrib's var.感兴趣
https://stackoverflow.com/questions/13572174
复制相似问题