注意:此任务从 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"/>