使用Maven ant任务将jar安装到本地存储库

Rob*_*ely 6 ant maven-2 jar maven maven-ant-tasks

在我的ant构建id结束时,它调用等效的命令行调用

mvn install:install-file -Dfile=my.jar -DgroupId=com.company.project -DartifactId=my_project -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)

这样它就会将新构建的jar添加到另一个项目依赖的maven资源库中.

我尝试使用maven-ant-task并将maven-ant-task jar添加到ant build项目中,并将以下代码添加到build.xml:

<target name ="minstall" depends="jar">
  <artifact:pom id="maven_install" file="maven_install.xml" />
  <artifact:install file="${out.dir}/my_project.jar">
      <pom refid="maven_install"/>
  </artifact:install> 
</target>
Run Code Online (Sandbox Code Playgroud)

但似乎缺少一些东西,因为它不适合我.首先,我在build.xml(ant构建文件)中得到错误

元素"artifact:pom"的前缀"artifact"未绑定.

我究竟做错了什么.我对蚂蚁比较陌生?

在一个问题上,相关POM文件的目的是什么?我通常不会在这个项目中有一个POM,因为它是一个蚂蚁构建

Luk*_*asz -2

我认为将这样的命令放在 Ant 的 build.xml 中是没有意义的。如果你想将 jar 文件安装在你的 Maven 仓库中,只需使用mvn install命令即可。

除此之外,我猜您在某种程度上混淆了项目中 Maven 和 Ant 工具的用途。我建议使用 Maven 作为主要构建工具。如果确实需要,您可以在 POM 文件中配置 Ant 目标的调用。我个人认为让Maven调用Ant是最好的解决方案。Maven 目标(例如 clean、test、package、install 等)使用起来非常简单且功能强大(我猜你可以在每个 Maven 教程中读到它)。

  • 巴兰。也许他的项目正在使用ant,而另一个项目使用maven。 (4认同)