【问题标题】:Performing specific Ant tasks in pom.xml在 pom.xml 中执行特定的 Ant 任务
【发布时间】:2013-04-17 15:46:50
【问题描述】:

我一直在尝试找到一种在 Maven 项目的 pom.xml 中指定一些 ant 任务(在 build.xml 中定义)的好方法。例如,在我的 build.xml 中,我有以下代码行;

<target name="clean">
   <delete dir="dist"/>
   <delete dir="build"/>
</target>

如何在我的 pom.xml 中执行此操作?

【问题讨论】:

    标签: ant maven-2 maven-ant-tasks


    【解决方案1】:

    以下是执行此类操作的 maven 方式:

    <build>
      [...]
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>${project.basedir}/dist</directory>
              <includes>
                <include>**/*</include>
              </includes>
            </fileset>
            <fileset>
              <directory>${project.basedir}/build</directory>
              <includes>
                <include>**/*</include>
              </includes>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      [...]
    </build>
    

    【讨论】:

      【解决方案2】:

      使用 maven-antrun-plugin。

      你可以输入目标ANT命令。 这里是执行命令的阶段安装的 maven-antrun-plugin 示例:

      <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <version>1.7</version>
                  <executions>
                      <execution>
                          <id>file-exists</id>
                          <phase>install</phase>
                          <goals>
                              <goal>run</goal>
                          </goals>
                          <configuration>
                              <target>
                                  <delete dir="dist"/>
                                  <delete dir="build"/>
                              </target>
                          </configuration>
                      </execution>
                  </executions>
              </plugin>
          </plugins>
      </build>
      

      【讨论】:

      • 感谢您的回复,这可能会正常工作。然而,这段代码触发了 Ant 的 clean 操作。我真正想要实现的是让 Maven 处理这项工作。这可能吗?
      猜你喜欢
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2011-02-07
      • 2011-09-17
      相关资源
      最近更新 更多