`
MauerSu
  • 浏览: 519992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Maven Sonatype Nexus return 401

 
阅读更多
源:http://www.trinea.cn/dev-tools/maven-sonatype-nexus-return-401-which-settings-xml-maven-is-using/
评:
/app/maven/bin/mvn help:effective-settings
-----------------
主要解决Sonatype Nexus return ’401′问题及查看maven当前生效的是哪个settings.xml

使用Sonatype把自己android-common的和android-auto-scroll-view-pager等库发布到Maven中央仓库
mvn clean deploy却发现始终401,提示
Java

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy)
on project trinea-android-common: Failed to deploy artifacts: Could not transfer artifact
cn.trinea.android.common:trinea-android-common:pom:4.2.10-20140510.125625-1 from/to
sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots/):
Failed to transfer file: https://oss.sonatype.org/content/repositories/snapshots/
cn/trinea/android/common/trinea-android-common/4.2.10-SNAPSHOT/trinea-android-common-4.2.10-20140510.125625-1.pom.
Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
1
2
3
4
5
6
7
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy)
on project trinea-android-common: Failed to deploy artifacts: Could not transfer artifact
cn.trinea.android.common:trinea-android-common:pom:4.2.10-20140510.125625-1 from/to
sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots/):
Failed to transfer file: https://oss.sonatype.org/content/repositories/snapshots/
cn/trinea/android/common/trinea-android-common/4.2.10-SNAPSHOT/trinea-android-common-4.2.10-20140510.125625-1.pom.
Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
检查了下
(1) 已添加C:\Users\your-user-name\.m2\settings.xml,并且内容包含
Java

<settings>
  ...
  <servers>
    <server>
      <id>sonatype-nexus-snapshots</id>
      <username>your-jira-id</username>
      <password>your-jira-pwd</password>
    </server>
    <server>
      <id>sonatype-nexus-staging</id>
      <username>your-jira-id</username>
      <password>your-jira-pwd</password>
    </server>
  </servers>
  ...
</settings>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<settings>
  ...
  <servers>
    <server>
      <id>sonatype-nexus-snapshots</id>
      <username>your-jira-id</username>
      <password>your-jira-pwd</password>
    </server>
    <server>
      <id>sonatype-nexus-staging</id>
      <username>your-jira-id</username>
      <password>your-jira-pwd</password>
    </server>
  </servers>
  ...
</settings>
(2) 上面的your-jira-id和your-jira-pwd已经替换为自己在https://oss.sonatype.org/上的用户名和密码。

用mvn help:effective-settings查看了下当前生效的settings文件内容,发现并没有上面(1)中添加的内容,怀疑settings文件是否生效了,用mvn -X命令查看如下
Java

Java version: 1.7.0_02, vendor: Oracle Corporation
Java home: D:\Program Files\Java\jdk1.7.0_02\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from D:\Program Files\apache-maven-3.2.1\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\Administrator\.m2\settings.xml
1
2
3
4
5
6
7
Java version: 1.7.0_02, vendor: Oracle Corporation
Java home: D:\Program Files\Java\jdk1.7.0_02\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from D:\Program Files\apache-maven-3.2.1\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\Administrator\.m2\settings.xml
先读的是maven安装目下conf里面的settings.xml,那为什么没生效呢?
直接修改D:\Program Files\apache-maven-3.2.1\conf\settings.xml mvn clean deploy可正常发布
D:\Program Files\apache-maven-3.2.1\conf\settings.xml拷贝到C:\Users\Administrator\.m2\下居然不会提示和已有的settings.xml文件重名冲突,复制两个文件名发现之前新建的文件名为?settings.xml,次奥,网页上复制过来多了个非法字符,并且一般不可见。这样删除?settings.xml这个文件保留settings.xml文件加上配置即可。

PS:
maven-help-plugin是一个小巧的辅助工具,最简单的help:system可以打印所有可用的环境变量和Java系统属性。help:effective-pom和help:effective-settings最为有用。
help:effective-pom用于查看当前生效的POM内容,指合并了所有父POM(包括Super POM)后的XML,所以可用于检测POM中某个配置是否生效
effective-settings可用于查看当前生效的settings.xml文件内容,所以可用于判断某个settings配置是否生效
分享到:
评论

相关推荐

    Sonatype Nexus Repository Manager 使用 nexus-cli 执行指令

    Sonatype Nexus Repository Manager 使用 nexus-cli 执行指令

    sonatype nexus2.7最新版

    Sonatype Nexus是一款强大的软件仓库管理器,主要用于管理和分发Maven、npm、Gradle等构建工具的依赖。在本文中,我们将深入探讨Sonatype Nexus 2.7版本及其作为Maven私服的功能。 首先,让我们理解什么是Maven私服...

    Sonatype Nexus Maven 仓库管理工具

    【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ⑤ ( 使用 Sonatype Nexus 搭建 Maven 仓库 ) https://hanshuliang.blog.csdn.net/article/details/127385094 博客资源

    2018年sonatype nexus-2.14.8-01.war pro专业版

    《Sonatype Nexus 2.14.8-01 Pro专业版:打造高效私有Maven仓库》 Sonatype Nexus是一款强大的软件仓库管理工具,它主要用于管理和分发Java的Maven、NPM、Gradle等构建工件。2018年的Sonatype Nexus 2.14.8-01 Pro...

    Maven私有库和本地库的安装与配置(Sonatype Nexus + Maven)

    Maven私有库和本地库的安装与配置(Sonatype Nexus + Maven) Maven私有库和本地库的安装与配置是 Maven 项目中的一个重要步骤。通过使用 Sonatype Nexus,可以轻松地安装和配置私有库和本地库,从而实现 Maven ...

    sonatype-nexus-3.64.0-04-unix

    sonatype-nexus-3.64.0-04-unix 是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。

    持续集成环境maven+nexus+jenkins+svn搭建

    在安装 Nexus 之前,我们需要确保 Maven 已经安装在我们的计算机上,因为 Nexus 需要使用 Maven 来管理依赖项。安装 Nexus 时,我们需要根据提示选择合适的安装目录和配置文件的位置。 搭建 SVN 服务器 SVN ...

    sonatype nexus 3搭建Docker私有仓库.docx

    Sonatype Nexus 3 是一个强大的仓库管理器,可以用于管理 Maven 项目的依赖关系,但是在最新的版本中,它还支持 Docker 仓库。下面将介绍如何使用 Sonatype Nexus 3 搭建 Docker 私有仓库。 安装 Sonatype Nexus 3 ...

    nexus 搭建 maven仓库

    nexus 搭建 maven仓库nexus 搭建 maven仓库nexus 搭建 maven仓库nexus 搭建 maven仓库nexus 搭建 maven仓库

    maven+nexus学习帮助

    Maven和Nexus是Java开发中不可或缺的工具,用于构建、管理和部署项目。Maven是一个项目管理工具,它通过POM(Project Object Model)文件来管理项目的依赖、构建过程和配置。Nexus则是一个仓库管理器,它可以帮助...

    maven3.8.3+nexus3.34.zip

    Nexus是Sonatype公司开发的软件仓库管理器,它为Maven、Gradle等构建工具提供了一个集中的仓库服务。Nexus 3.34版本包含了以下功能: 1. **代理仓库**:Nexus可以作为远程仓库的代理,缓存常用的依赖,减少网络请求...

    maven nexus 配置

    maven nexus 配置,简要介绍如何配置nexus。。。。。。

    maven+nexus完整手册

    ### Maven+Nexus 完整手册 #### 一、Nexus 安装与启动 Nexus 是一款由 Sonatype 提供的开源组件管理平台,能够帮助开发者有效地管理项目的依赖关系。安装 Nexus 的步骤主要包括: 1. **下载 Nexus**:访问官方...

    Sonatype-nexus

    标题中的“Sonatype Nexus”指的是Sonatype公司的Nexus Repository Manager,这是一个开源的软件仓库管理工具,主要用于管理和分发Maven、npm、Gradle等不同构建工具的依赖库。它也被广泛用于搭建私有的Maven仓库,...

    jenkins+maven+nexus+mantisBug

    **Nexus** 是Sonatype公司提供的一个仓库管理器,专门用于管理Maven和其他依赖管理工具的工件。它不仅可以存储和检索库中的工件,还提供版本控制、权限管理以及与其他服务(如Jenkins)的集成,确保开发人员获取到...

    apache-maven-nexus.zip

    2. **下载Nexus**:从Sonatype官网下载最新版本的Nexus ZIP文件,如“apache-maven-nexus”。 3. **解压并启动**:解压缩ZIP文件,然后运行bin目录下的start脚本来启动Nexus服务。 4. **配置Nexus**:根据需要修改...

    maven 私服 nexus3 安装包

    【 Maven 私服 Nexus3 安装详解及实践】 Maven 私服 Nexus3 是一个企业级的仓库管理工具,它允许开发团队集中管理和分发软件构件,包括 Maven 的 JAR 包、NPM 包、Gradle 构件等。在进行大型项目开发时,私有 Maven...

    Maven Nexus 私服搭建

    Maven Nexus 私服搭建 从零开始,资源下载、安装指导、开发配置说明

Global site tag (gtag.js) - Google Analytics