我pom.xml
正在运行 Ant 任务以使用 FTP 部署文件。-Dftp=true
但是,只有在 Maven 命令(即mvn clean install -Dftp=true
)中给出了参数时,才必须进行此部署。因此,我编写了以下代码:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks if="ftp">
<echo message="Deploying files through FTP..."/>
...
</tasks>
</configuration>
</execution>
</executions>
使用这个pom.xml
,如果我没有-Dftp
在我的 Maven 命令中定义属性,则不会执行 Ant 任务。但是,如果我为此属性指定任何类型的值,例如-Dftp=false
,Ant 任务就会运行,这是不正确的。
如何将 AntRun 任务配置为仅在给定属性具有给定值时才运行?
ps:我知道我可以使用仅在等于profile
时才有效的 a 。这个解决方案有效,但出于某种原因,我想要我的 Antrun 插件块。ftp
true
build
<profiles>
<profile>
<id>deployment</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>ftp</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
... (define the Ant task here)