我没有Maven项目。我所拥有的是一个jar,文件中嵌入了pom.xml
。当我通过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?
答案 0 :(得分:1)
我没有听说过从归档中指定pom文件的可能性。我认为它不太可能成为一种选择,因为Maven本身只是一个轻量级程序,它运行插件;它需要一些配置才能运行;所有对要使用的插件的引用都在这些文件中。
考虑编写一个将提取文件的Ant脚本,运行mvn deploy:deploy-file -DpomFile=pom.xml
然后删除该文件。
解决方案看起来不太好,我知道,但它应该会有所帮助。
答案 1 :(得分:1)
这是Artifactory功能,而不是标准的Maven行为。
请记住,例如,如果您使用依赖项:unpack-dependencies或程序集插件来创建某种类型的überjar,那么在/ META-INF / path下的jar中会有多个pom.xml文件选择哪个pom是真正的pom是非常困难的。