2012-08-10 67 views
1

我没有Maven项目。我所拥有的是一个嵌入文件中的pom.xml的罐子。当我通过Artifactory GUI部署这个工具时,Artifactory发现了这个pom,并用jar来部署它。它甚至可以识别groupId,artifactId和版本。Maven:使用内置的pom.xml文件部署jar/war

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

回答

0

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

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

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

+0

你可能是对的。我最初的做法是创建'pom.xml'并用jar将它保存在Jenkins中。但是,我在Artifactory中部署了一个带w/an嵌入式pom.xml的jar,并且Artifactory找到并使用了它。我想也许这是一个标准的Maven的事情,但没有去。我将回到我的旧方法,并像以前一样使用'deploy:deploy-file'。 – 2012-08-12 23:18:37

0

这是一个Artifactory功能,而不是标准的Maven行为。请记住,例如,如果您使用dependency:unpack-dependencies或程序集插件来创建某种类型的jar文件,那么在/ META-INF /路径下的jar文件中将会有多个pom.xml文件所以选择哪个pom是真正的pom将是非常困难的。