Вы сможете решить эту проблему, посмотрев порядок, в котором вы загружаете (или иным образом указываете) значения своих свойств. Возможно, вам вообще не нужно переопределять значения свойств, что не поддерживается ядром Ant.
Может быть, вы можете разделить ваши Master.properties на два файла - один загружается до того, как вы сгенерируете new.properties, а другой - после?
Может быть, вам вообще не нужно генерировать new.properties.
Не могли бы вы дать более подробную информацию о том, что вам нужно сделать?
Поскольку вы в конечном итоге разветвляете новый процесс Ant (exec antc.bat), разве это не запускает новую среду в любом случае? Если он просто загружает Master.properties, это будут единственные свойства, которые у него будут.
Не уверен, что делает ваш antc.bat, но довольно необычно выполнить Ant из Ant таким способом. Есть две стандартные задачи, которые могут быть полезны - Ant и AntCall .
ОК, продолжаем из ваших последующих комментариев ...
Допустим, вместо того, чтобы делать это:
<exec executable="antc.bat">
вы вместо этого сделали что-то вроде этого:
<ant file="Master.xml" inheritall="false">
<property name="Product_Version" value="${Product_Version}"/>
</ant>
Я думаю, это приближается к тому, что вы хотите. Вы избирательно передаете определенные значения, полученные при загрузке new.properties. См. Документацию для задачи Ant .
Если у вас все еще есть проблема, которую вы уже определили Product_Version перед загрузкой new.properties, то я бы сказал, что у вас есть скрипт, который создает new.properties для вывода версии с другим именем, например, New_Product_Version
. Затем вызовите вашу мастер-сборку примерно так:
<ant file="Master.xml" inheritall="false">
<property name="Product_Version" value="${New_Product_Version}"/>
</ant>