Maven Ant任务:安装具有未知目标文件名的工件(工件:安装)

时间:2011-03-15 20:21:51

标签: ant maven maven-ant-tasks

在我的Ant脚本中,我正在使用Maven Ant任务将工件安装到本地存储库,如下所示:

<target name="installProject">
  <artifact:pom id="mypom" file="${user.dir}/pom.xml" />
  <artifact:install file="target/myproject-1.0.jar">
    <pom refid="mypom"/>
  </artifact:install>
</target>

我不喜欢这种方法,我必须明确定义我想要安装的Jar的名称:target/myproject-1.0.jar但是如果该Jar的名称发生了变化怎么办?我想要一个更通用的方法。我如何让Maven Ant Tasks安装Maven在命令行上的同一目录中运行mvn clean install时也会安装的所有工件(我不需要提供我想要安装的Jar)?

(是的,我也可以用<exec executable="mvn" ...>调用Maven,但我认为使用Maven Ant Tasks更清晰了)

1 个答案:

答案 0 :(得分:3)

没有人知道你的build.xml产生了什么,所以你需要将所需的工件名称传递给ant。它可以通过您的antrun元素中应该可用的project.groupId,project.artifactId,project.version属性来完成。 然后在build.xml工作之后。您可以使用attachartifact ant任务将工件附加到maven。即。

<attachartifact file="${project.build.directory}/${project.artifactId}-${project.version}.jar" type="jar"/>

之后当你执行maven install时,它会安装你的蚂蚁文物。