1

我没有 Maven 项目。我所拥有的是一个pom.xml嵌入在文件中的 jar。当我通过 Artifactory GUI 部署它时,Artifactory 会找到 pom 并将其与 jar 一起部署。它甚至可以识别 groupId、artifactId 和 version。

当我尝试使用mvn deploy:deploy-file它失败。如果我提取 pom,并使用 运行mvn deploy:deploy-file-DpomFile=pom.xml它可以工作。有没有办法通过 Maven 命令行使用嵌入式 pom 部署这个 jar?或者,我需要先提取 pom.xml 吗?

4

2 回答 2

1

我还没有听说过从存档中指定 pom 文件的可能性。我认为这不太可能是一种选择,因为 Maven 本身只是一个轻量级的程序,它与插件一起运行;它需要一些配置才能运行;并且所有对要使用的插件的引用都在这些文件中。

考虑编写一个将提取文件、运行mvn deploy:deploy-file -DpomFile=pom.xml然后删除文件的 Ant 脚本。

我知道,该解决方案看起来不是很好,但它应该会有所帮助。

于 2012-08-11T18:32:47.727 回答
1

这是一个 Artifactory 功能,而不是标准的 Maven 行为。

请记住,例如,如果您使用 dependency:unpack-dependencies 或程序集插件来创建某种 über jar,那么 /META-INF/ 路径下的 jar 中将会有多个 pom.xml 文件,所以它会是很难选择哪个 pom 是真正的 pom。

于 2012-08-13T07:55:08.353 回答