4

${ant.project.name} 値を設定するには? 次のように設定したい: ${ant.project.name}=${basedir}

build.xml からプロジェクト名を設定したくありません。私の考えは、フォルダーの名前を自動的に取得する必要があるということです。

これは可能ですか?

4

3 に答える 3

10

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-27T05:48:26.367 に答える
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>
于 2012-11-28T04:11:59.360 に答える
1

プロパティは実行時に Ant によって設定され、ant.project.name変更できません。そのような組み込みパラメーターがいくつかあり、Ant の Web サイトに記載されています。 変更できるプロパティが必要な場合は、ant contrib の var.

于 2012-11-26T20:38:18.330 に答える