IntelliJ执行Maven deploy报错:repository未在distributionManagement配置怎么办
问题根因
Maven执行deploy生命周期任务的本质是将构建产物上传到指定的远端Maven仓库,你当前的pom.xml未配置部署目标仓库相关参数,因此触发该报错。
解决方案
有两种常用配置方式,按需选择即可:
方式1:在pom.xml中固定配置(推荐常规场景使用)
在你的pom.xml的project根节点下新增distributionManagement配置,示例如下:
<distributionManagement> <!-- 正式版本发布仓库,对应版本号不带-SNAPSHOT后缀的构建产物 --> <repository> <id>maven-releases</id> <url>替换为你公司/个人的release仓库地址</url> </repository> <!-- 快照版本发布仓库,对应版本号带-SNAPSHOT后缀的构建产物 --> <snapshotRepository> <id>maven-snapshots</id> <url>替换为你公司/个人的snapshot仓库地址</url> </snapshotRepository> </distributionManagement>
注意:如果你的远端仓库需要账号密码认证,需要在Maven安装目录下
conf/settings.xml(或用户目录下的.m2/settings.xml)中添加对应server配置,id要和上面配置的仓库id保持一致:<servers> <server> <id>maven-releases</id> <username>你的仓库账号</username> <password>你的仓库密码</password> </server> <server> <id>maven-snapshots</id> <username>你的仓库账号</username> <password>你的仓库密码</password> </server> </servers>
方式2:执行命令时临时指定(适合临时测试场景)
如果不需要固定配置到pom中,也可以在执行deploy命令时添加参数指定仓库:
mvn deploy -DaltDeploymentRepository=仓库id::default::仓库地址
如果是在IDEA中执行,可以在Maven运行配置的Runner选项卡的VM Options中填入上述参数即可。
内容的提问来源于stack exchange,提问作者Quang Minh
相关产品推荐
相关产品推荐

