Maven 2 如何从Mavens';蚂蚁中的pom

Maven 2 如何从Mavens';蚂蚁中的pom,maven-2,ant,Maven 2,Ant,我有maven项目和ant任务。 在ant任务中,我想从pom.xml获取version属性。 如何得到它 在pom.xml中:2.03.010为 要从POM访问版本,可以使用以下命令: <artifact:pom id="mypom" file="pom.xml" /> <echo>The version is ${mypom.version}</echo> 您可以: 将JAR放在Ant lib目录中,并将其包含在CLASSPATH环境变量中 使用-l

我有maven项目和ant任务。 在ant任务中,我想从pom.xml获取version属性。 如何得到它

在pom.xml中:
2.03.010

要从POM访问版本,可以使用以下命令:

<artifact:pom id="mypom" file="pom.xml" />

<echo>The version is ${mypom.version}</echo>

您可以:

  • 将JAR放在Ant lib目录中,并将其包含在CLASSPATH环境变量中
  • 使用-lib命令行参数将其传递给Ant
  • 使用typedef声明。这允许您将Ant任务库存储在任何您喜欢的地方,并将其位置放在构建文件中
  • 选择2。您可以按如下方式修改项目,以使ant了解maven ant任务模式:

    <project ... xmlns:artifact="antlib:org.apache.maven.artifact.ant">
      ...
    </project>
    
    
    ...
    
    选择3。您可以按如下方式指定typedef(假设maven ant tasks jar位于项目的lib目录中):

    
    ...
    ...
    
    如果您只想从pom.xml中读取包含在ant中的值,您可以使用XmlProperty任务:

    <xmlproperty file="pom.xml" prefix="pom" />
    <echo>The version is ${pom.project.version}</echo>
    
    
    版本为${pom.project.version}
    

    顺便说一下,Maven Ant任务不再维护。

    我有一个错误。我需要补充什么?xml:11:元素“artifact:pom”的前缀“artifact”未绑定。Maven ant任务不属于ant安装。你需要添加它们。这总是有效的,而且比公认的答案简单得多。很棒的方法。我更喜欢这种方法,因为它不需要任何额外的依赖项。尽管它不会解析
    pom.xml
    中的任何现有占位符。
    <xmlproperty file="pom.xml" prefix="pom" />
    <echo>The version is ${pom.project.version}</echo>