ANT将所有命令行属性传递给<;爪哇>;

ANT将所有命令行属性传递给<;爪哇>;,ant,properties,overriding,Ant,Properties,Overriding,我有一个ANT构建系统,它使用以下宏调用不同项目上的构建 <macrodef name="buildComponent"> <attribute name="name"/> <attribute name="dir"/> <attribute name="antTarget"/> <attribute name="antCommonDistDir" /> <sequential>

我有一个ANT构建系统,它使用以下宏调用不同项目上的构建

    <macrodef name="buildComponent">
    <attribute name="name"/>
    <attribute name="dir"/>
    <attribute name="antTarget"/>
    <attribute name="antCommonDistDir" />
    <sequential>
        <available property="build.xml.exists.@{dir}" file="@{dir}/build.xml" />
        <if>
            <equals arg1="${build.xml.exists.@{dir}}" arg2="true" />
            <then>
                <java   classname="org.apache.tools.ant.launch.Launcher"
                        fork="true"
                        failonerror="true"
                        dir="@{dir}"
                        timeout="4000000"
                        output="${common.build.dir}/log/@{name}.log"
                        taskname="startAnt"  >
                    <jvmarg value="-Dant.home=${ant.home}"/>
                    <classpath>
                        <pathelement location="${ant.home}/lib/ant-launcher.jar"/>
                    </classpath>
                    <arg value="-Dbasedir=@{dir}"/>
                    <arg value="@{antTarget}"/>
                    <arg value="-Dprop1=${prop1}" />

                    <syspropertyset refid="project.common.properties" />
                    <sysproperty key="common.dist.dir.os" value="@{antCommonDistDir}" />
                </java>
            </then>
        </if>
    </sequential>
</macrodef>
如您所见,当前我从命令行为prop2prop3传递这些重写值的唯一选项是在
下为传递的每个属性添加
任务,就像我为“prop1”所做的一样,该任务有效但不可取。我是否可以访问传递给ANT的所有属性,并将它们按原样传递给
任务?

您可以使用任务将所有当前ANT属性保存到一个文件中,然后将该文件传递给子项目要加载的
java
任务

<echoproperties destfile="my.properties"/>
您可以使用该任务将所有当前Ant属性保存到一个文件中,然后将该文件传递给子项目要加载的
java
任务

<echoproperties destfile="my.properties"/>
您可以使用该任务将所有当前Ant属性保存到一个文件中,然后将该文件传递给子项目要加载的
java
任务

<echoproperties destfile="my.properties"/>
您可以使用该任务将所有当前Ant属性保存到一个文件中,然后将该文件传递给子项目要加载的
java
任务

<echoproperties destfile="my.properties"/>

我找不到任何能直接做到这一点的东西。因此,我最终编写了一个javascript并填充了一个ant属性来解析存储在env变量中的命令行选项,并将其作为
传递给任务。请记住在调用任务之前使用
,因为它会删除所有额外的空格等。

我找不到任何可以直接执行此操作的东西。因此,我最终编写了一个javascript并填充了一个ant属性来解析存储在env变量中的命令行选项,并将其作为
传递给任务。请记住在调用任务之前使用
,因为它会删除所有额外的空格等。

我找不到任何可以直接执行此操作的东西。因此,我最终编写了一个javascript并填充了一个ant属性来解析存储在env变量中的命令行选项,并将其作为
传递给任务。请记住在调用任务之前使用
,因为它会删除所有额外的空格等。

我找不到任何可以直接执行此操作的东西。因此,我最终编写了一个javascript并填充了一个ant属性来解析存储在env变量中的命令行选项,并将其作为
传递给任务。在调用任务之前,请记住使用
,因为它会删除所有额外的空格等