发布外部POM包至Azure Artifacts Feed时遇错误求助
发布外部POM包至Azure Artifacts Feed时遇错误求助
各位好,我现在遇到个Maven部署的问题想请教大家:
我有一个Maven项目,依赖了一个外部提供的父POM包,现在我只想把这个父POM上传到Azure Artifacts仓库里。按照官方推荐的方式,我用了下面这条deploy命令:
mvn deploy:deploy-file -DgroupId=biz.org.aem -DartifactId=aem-cloud-parent -Dpackaging=pom -Dfile=/path-to/artifacts/aem-cloud-parent.pom -DrepositoryId=my-azure-feed-id -Durl=https://pkgs.dev.azure.com/my-org/my-project/_packaging/my-feed/maven/v1
问题是,deploy插件明明已经在我本地的.m2仓库里了,但Maven还是一个劲地尝试从远程仓库去下载它,最后直接失败了...
我自己梳理了几个可能的排查方向,也分享给大家,欢迎一起讨论或者补充其他方案:
先检查本地.m2中deploy插件的版本是否匹配Maven的默认要求。有时候Maven会指定插件的最低版本,若本地版本过低,它仍会尝试从远程拉取高版本。可以尝试在命令中显式指定插件版本,示例如下:
mvn org.apache.maven.plugins:maven-deploy-plugin:3.1.0:deploy-file -DgroupId=biz.org.aem -DartifactId=aem-cloud-parent -Dpackaging=pom -Dfile=/path-to/artifacts/aem-cloud-parent.pom -DrepositoryId=my-azure-feed-id -Durl=https://pkgs.dev.azure.com/my-org/my-project/_packaging/my-feed/maven/v1记得把
3.1.0替换成你本地已有的插件版本。检查
settings.xml中的仓库配置,确认是否将Azure Artifacts仓库正确设置为镜像,或是存在仓库优先级配置错误的情况。不合理的仓库配置可能导致Maven忽略本地插件,强制从远程拉取。尝试清理本地插件缓存:删除
.m2/repository/org/apache/maven/plugins/maven-deploy-plugin目录下的文件后重新运行命令。虽然这个操作有点极端,但缓存损坏确实可能引发这类异常问题。确认命令中的
repositoryId与settings.xml里配置的Azure Artifacts服务器ID完全一致(包括大小写)。ID不匹配可能导致认证失败,进而触发Maven去远程下载插件的操作。
备注:内容来源于stack exchange,提问作者M. Chris
相关产品推荐
相关产品推荐

