2013-05-28 4 views
5

Я хочу иметь возможность передавать значения конфигурации из maven в ant. Если это имеет смысл.Передача аргументов из «maven» в ant task

Я хочу, чтобы иметь возможность передавать переменные в этой задаче:

Допустим, я определяю переменную $ {someArg} Я хочу, чтобы иметь возможность пройти «someArg» сценарию Maven и в конечном итоге к сборке. xml ant script.

Вот мое определение:

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
      <id>gen</id> 
      <phase>generate-resources</phase> 
      <configuration> 
       <target name="main"> 
        <script language="javascript" manager="javax" 
        src="${project.basedir}/src/scripts/myfile.js"/> 
       </target> 
      </configuration> 
      <goals> 
    ${someArg} (how to pass someArg) 
       <goal>run</goal> 
      </goals> 
     </execution> 
... 

А то вот часть build.xml:

<?xml version="1.0" ?> <project name="deployment" default="deploy"> 
    <property file="build.properties" /> 
    <target> 
    <echo message="${someArg}" /> 
    </target> 
</project> 

И я хочу, чтобы перейти к build.xml

ответ

4

Существует пример в: http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html

В вашей конфигурации pom.xml:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
     <id>compile</id> 
     <phase>compile</phase> 
     <configuration> 
      <target> 
      <property name="compile_classpath" refid="maven.compile.classpath"/> 
      <property name="runtime_classpath" refid="maven.runtime.classpath"/> 
      <property name="test_classpath" refid="maven.test.classpath"/> 
      <property name="plugin_classpath" refid="maven.plugin.classpath"/> 

      <echo message="compile classpath: ${compile_classpath}"/> 
      <echo message="runtime classpath: ${runtime_classpath}"/> 
      <echo message="test classpath: ${test_classpath}"/> 
      <echo message="plugin classpath: ${plugin_classpath}"/> 
      </target> 
     </configuration> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 

Maven документация говорит, что вы можете положить что-нибудь в целевой тега, так что вы должны быть в состоянии использовать Maven свойства в мишени с помощью $ {имя свойства}.

+0

Это будет работать, поэтому просто скопируйте/добавьте нужные свойства. –

Смежные вопросы