My pom.xml
đang chạy tác vụ Ant để triển khai tệp bằng FTP. Tuy nhiên, việc triển khai này chỉ được thực hiện nếu đối số -Dftp=true
được đưa ra trong lệnh Maven (ví dụ: mvn clean install -Dftp=true
). Do đó, tôi đã viết đoạn mã sau:Chỉ chạy tác vụ Ant trong Maven nếu thuộc tính được đặt
<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>
Sử dụng pom.xml
này, nhiệm vụ Ant không được thực hiện nếu tôi không xác định -Dftp
tài sản trong lệnh Maven tôi. Tuy nhiên, nếu tôi cung cấp bất kỳ loại giá trị nào cho thuộc tính này, ví dụ: -Dftp=false
, tác vụ Ant sẽ chạy, điều đó không chính xác.
Cách định cấu hình tác vụ AntRun sẽ chỉ chạy nếu thuộc tính đã cho có giá trị đã cho?
ps: Tôi biết tôi có thể sử dụng profile
chỉ hoạt động khi ftp
bằng true
. Giải pháp này hoạt động, nhưng vì lý do nào đó, tôi muốn có plugin Antrun của tôi 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)
Cú pháp khủng khiếp (và tiết) cho tác vụ 'if' này là gì. Nhưng nó hoạt động, điều đó quan trọng hơn; o) Cảm ơn! – romaintaz