pom 任务可以以两种方式之一使用,要么读取现有的 pom 文件(通常是 pom.xml),要么定义内存中的 pom 对象。任何一种技术都可用于解决构建依赖关系、构建项目类路径和/或定义项目属性。
这里提供了一个示例 pom:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.project</groupId>
<artifactId>project-model</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-core</artifactId>
<version>1.0-alpha-2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>这些元素代表:
这就是大多数项目所需要的。但是,也可以使用 Maven 中可用的其他字段来描述您的项目,并从您的构建脚本中引用它们。
一旦创建了 pom 文件,它就可以被 pom 任务读取。
<artifact:pom id="mypom" file="pom.xml" />
如果 POM 文件不可用,也可以使用 ant 任务来定义内存中的 pom。
<artifact:pom id="mypom" groupId="org.acme" artifactId="project1" version="1.0">
<dependency groupId="junit" artifactId="junit" version="4.1"/>
<dependency groupId="org.codehaus.plexus" artifactId="plexus-utils" version="1.5.5"/>
<license name="apache" url="http://www.apache.org"/>
</artifact:pom>要将 POM 的一部分作为 Ant 属性访问,您必须将其定义为引用。例如,要从 POM 访问版本,您可以使用以下命令:
<artifact:pom id="mypom" file="pom.xml" />
<echo>版本是${mypom.version}</echo>您还可以访问 POM 的嵌套部分。例如,您可以使用. 分隔器。
<artifact:pom id="mypom" file="pom.xml" />
<echo>构建目录是${mypom.build.directory}</echo>有关 POM 中可用元素的更多信息,请参阅描述符参考。
pom任务可以与依赖项任务结合使用来声明依赖项列表。
<artifact:pom id="mypom" file="pom.xml" /> <artifact:dependencies filesetId="mydeps" pomRefId="mypom" />
在此示例中,依赖项任务将解析 pom 中的依赖项列表并将它们添加到文件集中。
可以使用嵌套的配置文件元素激活或停用 POM 配置文件。例如激活一个名为my-profile 的配置文件。
<artifact:pom id="maven.project" file="pom.xml">
<profile id="my-profile"/>
</artifact:pom>这也可用于停用默认处于活动状态的 POM 配置文件。
<artifact:pom id="maven.project" file="pom.xml">
<profile id="my-default-profile" active="false"/>
</artifact:pom>