<propertyset>
и <syspropertyset>
должно быть то, что вы ищете
См. Также эту тему , например.
Вы можете установить их один за другим в своей задаче Java Ant:
<sysproperty key="test.classes.dir"
value="${build.classes.dir}"/>
утомительно ... или вы можете передать их как блок свойств Ant:
<syspropertyset>
<propertyref prefix="test."/>
</syspropertyset>
Вы можете ссылаться на внешние свойства системы:
<propertyset id="proxy.settings">
<propertyref prefix="http."/>
<propertyref prefix="https."/>
<propertyref prefix="socks."/>
</propertyset>
, а затем используйте их в своей задаче java ant: propertyset
можно использовать по требованию; при передаче в новый процесс все текущие свойства ant, соответствующие заданным префиксам, передаются:
<java>
<!--copy all proxy settings from the running JVM-->
<syspropertyset refid="proxy.settings"/>
...
</java>
Я полностью упустил тот факт, что вы пытались передать java.library.path
собственность!
Как уже упоминалось в этой теме :
если вы попытаетесь установить его значение вне задачи java, Ant игнорирует его. Поэтому я добавил все свойства, кроме этого, в свой syspropertyset, и он работает как положено.
значение:
<property name="java.library.path" location="${dist}"/>
<propertyset id="java.props">
<propertyref name="java.library.path"/>
</propertyset>
<target name="debug">
<java>
<syspropertyset refid="java.props"/>
</java>
</target>
не будет работать, но следующее должно:
<target name="debug">
<java>
<sysproperty key="java.library.path" path="${dist}"/>
</java>
</target>
(хотя вы можете попробовать это с атрибутом "fork
", установленным в true, если он не работает)
(Примечание: вы не можете изменить его значение, хотя )