2013-04-19 3 views
6

Я установил свойство maven в файле pom.xml.Изменение свойств maven с помощью задачи Ant

<properties> 
    <build.start.date>someValue</build.start.date> 
</properties> 

Теперь у меня есть муравей задачу, выполнив следующие действия:

<loadresource property="build.start"> 
    <url url="http://someUrl?xpath=/*/id/text()"/> 
</loadresource> 

<property name="build.start.date" value="${build.start}"/> 

<echo>Printing Ant Value ${build.start} </echo> 
<echo>Printing Maven Value ${build.start.date}</echo> 

Это приводит к:

[echo] Printing Ant Value 2013-03-15_17-53-08 
[echo] Printing Maven Value 2013-03-16 

Но я ожидаю как для печати:

[echo] Printing Ant Value 2013-03-15_17-53-08 
[echo] Printing Maven Value 2013-03-15_17-53-08 


I tried <loadresource property="build.start.date"> 
and 
I tried <loadresource property="${build.start.date}"> 

Итак, вопрос в том, как установить глобальный maven собственность внутри ant задачи?

+0

Я предполагаю, что вы запускаете свой скрипт ant с помощью maven-antrun-plugin. Похоже, вы хотите переопределить ценность, исходящую от maven, не так ли? Свойства Ant устанавливаются один раз, а затем никогда не могут быть переопределены. – adrianboimvaser

+0

Это не свойства муравья, мне нужно сбросить свойства maven, внутри плагина antrun. – avijendr

+0

'' пытается переопределить уже установленное свойство. Имущество было установлено Maven. – adrianboimvaser

ответ

12

Я нашел решение для этого.

Прежде всего, вам нужно иметь 1.7 версию antrun плагина:

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-antrun-plugin</artifactId> 
<version>1.7</version> 
.... 
</plugin> 

Тогда при конфигурации вы должны иметь exportAntProperties к истинный (ложь по умолчанию):

<configuration> 
<exportAntProperties>true</exportAntProperties> 
Смежные вопросы