WritePom 任务

注意:此任务从 Maven Ant 任务 2.1.0 版开始可用

WritePom 任务可用于根据 Ant 构建中定义的信息生成 POM 文件。例如,这可用于生成将构建工件部署到 Maven 存储库时使用的 POM。

第一步是使用 pom 任务定义一个 pom。

  <artifact:pom id="mypom1" groupId="org.acme" artifactId="project1" version="1.0" name="My awesome project">
    <license name="apache" url="http://www.apache.org"/>
    <dependency groupId="junit" artifactId="junit" version="4.1" scope="test"/>
    <dependency groupId="org.codehaus.plexus" artifactId="plexus-utils" version="1.5.5"/>
  </artifact:pom>

下一步是使用上面创建的 pom id 调用 writePom 任务。

  <artifact:writepom pomRefId="mypom1" file="target/mypom1.xml"/>

这将在指定的位置生成一个 pom。

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.acme</groupId>
  <artifactId>project1</artifactId>
  <version>1.0</version>

  <name>My awesome project</name>

  <licenses>
    <license>
      <name>apache</name>
      <url>http://www.apache.org/</url>
    </license>
  </licenses>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>1.5.5</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

默认情况下,writePom任务不会包含不必要的信息,例如构建配置、存储库和配置文件。如果 pom 中需要此信息,则可以将“trim”选项设置为 false。

  <artifact:writepom pomRefId="mypom1" file="target/mypom1.xml" trim="false"/>