我没有Maven项目。我有一个罐子,文件中嵌入了pom.xml
。当我通过Artifactory GUI部署它时,Artifactory会找到pom并将其与jar一起部署。它甚至可以识别groupId,artifactId和版本。
当我尝试使用mvn deploy:deploy-file
时,它失败了。如果我提取pom,然后用-DpomFile=pom.xml
运行mvn deploy:deploy-file
,它可以工作。有没有办法通过 Maven 命令行使用嵌入式 pom 部署这个 jar?或者,我需要先提取绒球.xml?
我还没有听说过从存档中指定 pom 文件的可能性。我认为这不太可能是一种选择,因为 Maven 本身只是一个轻量级程序,它使用插件运行;它需要一些配置才能运行;并且对要使用的插件的所有引用都在这些文件中。
请考虑编写一个 Ant 脚本,该脚本将提取文件,运行mvn deploy:deploy-file -DpomFile=pom.xml
,然后删除该文件。
我知道,解决方案看起来不是很好,但它应该会有所帮助。
这是一个Artifactory功能,而不是标准的Maven行为。
请记住,例如,如果您使用 dependency:unpack-dependencies 或汇编插件来创建某种 über jar,那么/META-INF/路径下的 jar 中会有多个 pom.xml 文件,因此很难选择哪个 pom 是真正的 pom。