maven deploy 命令的使用,及报错 401 ReasonPhrase: Unauthorized 的二种解决方式

maven deploy 命令的使用,及报错 401 ReasonPhrase: Unauthorized 的二种解决方式

maven deploy 的使用场景:

  • 1、将私有jar包上传到maven私库
  • 2、将项目上传到maven私库
  • 3、将第三方依赖包上传到私库

maven命令使用前的准备工作

  • 1、确认在使用的机器上安装 maven,用 mvn -version 或 mvn -v 查看
\\ 查看本地安装 maven 
C:\Users\Janyue>mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: D:\JavaUtils\apache-maven-3.3.9-sts\bin\..
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: D:\JavaUtils\Java\jdk1.8.0_171\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"

C:\Users\Janyue>mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: D:\JavaUtils\apache-maven-3.3.9-sts\bin\..
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: D:\JavaUtils\Java\jdk1.8.0_171\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
  • 2、编写deploy 上传命令
mvn deploy:deploy-file -DgroupId=com.xx.xx -DartifactId=xxx -Dversion=2.0.7 -Dpackaging=jar -Dfile=C:\Users\Janyue\Desktop\JAR包管理\升级平台\xxx-xx.jar -Durl=http://192.168.66.166:9000/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots
    1. 必传参数:
      file:上传文件本地所在路径,即: jar或pom文件具体地址;
      repositoryId:setting.xml 对应的仓库配置,即:仓库权限配置;
      url: 仓库地址
    1. 可传参数:
      groupId:组件路径,存储的包的路径,一般分为多段,第一段为域,第二段为公司名。。。对应pom中的 groupId 标签;
      artifactId:组件模块 对应pom中的 artifactId 标签;
      version:组件版本,这个好理解 即版本号;

报错 401 ReasonPhrase: Unauthorized 的解决方法
报错日志:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.999 s
[INFO] Finished at: 2021-07-20T15:40:42+08:00
[INFO] Final Memory: 7M/164M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Failed to deploy artifacts: Could not transfer artifact com.xxx.xx.core:xxx-core:jar:2.0.7-20210720.074039-15 from/to public (http://192.79.172.97:9000/nexus/content/repositories/public/): Failed to transfer file: http://192.79.172.97:9000/nexus/content/repositories/public/com/xxx/xx/xx/xx-core/2.0.7/xxx-core-2.0.7-20210720.074039-15.jar. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
  • 解决方法一: 在setting.xml 配置权限
    注:id与命令中的repositoryId值一致
    username:即 你的私库账号
    password:即 你的私库密码
<server>
    <id>snapshots</id>
    <username>username</username>
    <password>password</password>
</server>
  • 解决方法二: 直接在命令 url中 带权限执行
    我采用的是这种
    username:即 你的私库账号
    password:即 你的私库密码
mvn deploy:deploy-file -DgroupId=com.xx.xx -DartifactId=xxx -Dversion=2.0.7 -Dpackaging=jar -Dfile=C:\Users\Janyue\Desktop\JAR包管理\升级平台\xxx-xx.jar -Durl=http://username:password@192.168.66.166:9000/nexus/content/repositories/snapshots/ -DrepositoryId=snapshots

执行结果:成功了
执行结果:成功了

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven deploy status: 401 Unauthorized表示Maven部署失败,返回了未授权的状态码401。这通常是由于访问凭据不正确或缺失而引起的。 造成此问题的可能原因有以下几点: 1. 访问凭据错误:部署到Maven仓库需要提供正确的用户名和密码。如果凭据错误或丢失,就会返回401未授权的错误。确保提供的用户名和密码是正确的,并且具有访问仓库所需的权限。 2. 凭据配置错误:在Maven的settings.xml配置文件中,凭据可能没有正确配置。检查该文件,确保仓库的凭据正确配置,并且与部署命令使用的凭据相匹配。 3. 仓库访问权限:某些Maven仓库可能需要使用特定的权限或角色才能进行部署操作。检查你是否被授予了正确的权限,并且具有执行部署操作的权限。 4. 仓库地址错误:请确保在Maven的pom.xml文件或命令行参数中使用了正确的仓库地址。如果仓库地址错误,Maven将无法连接到正确的仓库进行部署操作。 解决Maven deploy status: 401 Unauthorized问题的方法包括: 1. 检查凭据:确保提供的凭据是正确的,包括正确的用户名和密码,并且具有相应仓库的访问权限。 2. 检查配置:检查Maven的settings.xml配置文件中的仓库凭据配置是否正确,确保凭据与部署命令使用的凭据相匹配。 3. 申请权限:如果你没有正确的权限来访问仓库进行部署操作,请联系管理员或仓库所有者申请相应的权限。 4. 检查仓库地址:确保在部署命令或pom.xml文件中使用了正确的仓库地址,以便Maven能够连接到正确的仓库进行部署。 总之,Maven deploy status: 401 Unauthorized表示Maven部署过程中出现了未授权的错误码401,你需要检查和确保提供的凭据、配置、权限和仓库地址都是正确的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值