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