包含java调用的Ant任务,接收将像系统属性参数一样设置的参数
我很抱歉这个标题,但我不明白如何用一句话来描述这个问题 我有下一个build.xml代码:包含java调用的Ant任务,接收将像系统属性参数一样设置的参数,java,ant,Java,Ant,我很抱歉这个标题,但我不明白如何用一句话来描述这个问题 我有下一个build.xml代码: <project name="Project" default="configure-and-run" basedir="."> <target name="run"> <java classname="Main"> <classpath location="."/&g
<project name="Project" default="configure-and-run" basedir=".">
<target name="run">
<java classname="Main">
<classpath location="."/>
<sysproperty key="key1" value="value1"/>
</java>
</target>
<target name="configure-and-run">
<antcall target="run">
<param name="key2" value="value2"/>
</antcall>
</target>
</project>
我的问题是:如何给出,或者更准确地说,如何获取“run”目标上的参数,并将这些参数提供给javaant任务
在上面的示例中,在主类启动后,我希望我可以通过以下方式获得“value2”:
提前谢谢
与此同时,我找到了一个解决办法:
我的父ant任务有一个参数列表。
让我复制和修改上述代码:
<project name="Project" default="configure-and-run" basedir=".">
<target name="run">
<java classname="Main">
<classpath location="."/>
<sysproperty key="${prop1key}" value="${prop1value}"/>
...
<sysproperty key="${propNkey}" value="${propNvalue}"/>
</java>
</target>
<target name="configure-and-run">
<antcall target="run">
<param name="prop1key" value="myKey"/>
<param name="prop1value" value="myValue"/>
</antcall>
</target>
</project>
...
参数的数量是可变的,这取决于您的需要
我希望这件事能像帮助我一样帮助别人
祝您愉快。下面的Ant脚本使用
的
嵌套元素将附加属性传递到Java程序中
<target name="run">
<java classname="Main">
<classpath location="."/>
<sysproperty key="key1" value="value1"/>
<syspropertyset refid="additional-java-sysproperties"/>
</java>
</target>
<target name="configure-and-run">
<property name="key2" value="value2"/>
<propertyset id="additional-java-sysproperties">
<propertyref name="key2"/>
</propertyset>
<antcall target="run">
<reference refid="additional-java-sysproperties"/>
</antcall>
</target>
不错。一个比我更好的答案。非常感谢。
<project name="Project" default="configure-and-run" basedir=".">
<target name="run">
<java classname="Main">
<classpath location="."/>
<sysproperty key="${prop1key}" value="${prop1value}"/>
...
<sysproperty key="${propNkey}" value="${propNvalue}"/>
</java>
</target>
<target name="configure-and-run">
<antcall target="run">
<param name="prop1key" value="myKey"/>
<param name="prop1value" value="myValue"/>
</antcall>
</target>
</project>
<target name="run">
<java classname="Main">
<classpath location="."/>
<sysproperty key="key1" value="value1"/>
<syspropertyset refid="additional-java-sysproperties"/>
</java>
</target>
<target name="configure-and-run">
<property name="key2" value="value2"/>
<propertyset id="additional-java-sysproperties">
<propertyref name="key2"/>
</propertyset>
<antcall target="run">
<reference refid="additional-java-sysproperties"/>
</antcall>
</target>