我希望能够将配置值从maven传递到ant。如果这是有道理的。
我希望能够将变量传递给此任务:
假设我定义了一个变量$ {someArg}我希望能够将'someArg'传递给maven脚本并最终传递给build.xml ant脚本。
这是我的定义:
<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
答案 0 :(得分: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文档说您可以在目标标记中放置任何内容,因此您应该能够使用$ {property name}在目标中使用maven属性。