首页 文章

为什么我在Maven中收到“401 Unauthorized”错误?

提问于
浏览
92

为什么我在Maven中收到“401 Unauthorized”错误?

这里's the error I'在调用 mvn deploy 时获取(底部的完整日志):

[INFO] BUILD FAILURE
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

据此sonatype support page

“如果您收到401,那是因为maven发送了错误的登录凭据,或根本没有凭据 . ”

以下是我采取的步骤,下面是我的完整 settings.xmlpom.xml 文件,下面是 mvn deploymvn deploy -e 的完整日志 .

任何想法,将不胜感激 . 我和Maven一起撞到了墙后 .


收到401错误时,我跟着sonatype's checklist

清单项目1.登录Nexus用户界面,确保您的用户名/密码正确无误 . 如果您的计算机上安装了curl,您可以尝试使用...部署工件

  • 我使用 settings.xml 中的用户/传递成功登录和退出sonatype.org网站 .

  • 我尝试使用 curl 手动部署工件,并使用该命令

[C:\]curl -u MY_SONATYPE_DOT_COM_USERNAME:MY_SONATYPE_DOT_COM_PASSWORD https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/xbnjava-0.1.2-20140716.224928-1.pom --request PUT --data @pom.xml

但得到了这个错误:

Warning: Couldn't read data from file "pom.xml", this makes an empty POST.
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

我用 -k 选项再次运行它,这次只有这个:

Couldn't read data from file "pom.xml", this makes an empty POST.

我之前从未使用过curl,所以我对这些信息的处理感到茫然 .

清单项2.如果没有错误输出,请确保在服务器上正确配置了用户权限 . 确保删除刚创建的仓库 .

我不知道“掉落”是什么意思 . 我相信我的权限已正确安装,因为我从sonatype收到此消息:

我在过去的几天里通过 mvn deploy 成功地将these items放到了服务器上 .

该项目的设置:

project settings

清单项3.确保在settings.xml中配置了服务器,并且服务器标识与pom.xml中的分发存储库标识相同 .

  • settings.xml 中,settings / servers / server / id等于 ossrh

  • pom.xml 中,distributionManagement / snapshotRepository / id等于 ossrh

(完整文件位于底部)

清单项目4.确保您的settings.xml位于正确的位置(通常是_~ / .m2 / settings.xml) . 您可以通过运行mvn help:effective-settings来检查这一点 .

根据Maven的settings reference,settings.xml必须位于以下两个位置之一:

  • Maven安装: $M2_HOME/conf/settings.xml

  • 用户的安装: ${user.home}/.m2/settings.xml

这是我的设置:

  • settings.xmlC:\applications\programming\apache-maven-3.2.2\conf\settings.xml

  • M2_HOMEC:\applications\programming\apache-maven-3.2.2

mvn help:effective-settings 的输出:

[C:\applications\utilities\curl]
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-help-plugin:2.2:effective-settings (default-cli) @ standalone-pom ---
[INFO]
Effective user-specific configuration settings:

<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Generated by Maven Help Plugin on 2014-07-18T12:48:19                  -->
<!-- See: http://maven.apache.org/plugins/maven-help-plugin/                -->
<!--                                                                        -->
<!-- ====================================================================== -->

<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Effective Settings for 'jeffy' on 'kermit-the-frog'                    -->
<!--                                                                        -->
<!-- ====================================================================== -->

<settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
hemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <localRepository xmlns="http://maven.apache.org/SETTINGS/1.1.0">C:\Users\jeffy\.m2\repository</localRepository
>
  <servers xmlns="http://maven.apache.org/SETTINGS/1.1.0">
    <server>
      <username>MY_SONATYPE_DOT_COM_USERNAME</username>
      <password>***</password>
      <id>ossrh</id>
    </server>
  </servers>
  <pluginGroups xmlns="http://maven.apache.org/SETTINGS/1.1.0">
    <pluginGroup>org.apache.maven.plugins</pluginGroup>
    <pluginGroup>org.codehaus.mojo</pluginGroup>
  </pluginGroups>
</settings>

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.310 s
[INFO] Finished at: 2014-07-18T12:48:19-04:00
[INFO] Final Memory: 7M/17M
[INFO] ------------------------------------------------------------------------

清单项目5.如果服务器使用https但POM中的URL为http,则您也可能获得401 .

我不明白它指的是哪个网址 .

清单项目6.使用最新版本的Maven,因为有一个关于401的已知问题:MNG-4469

我使用的是最新版本:

[C:\]mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T09:51:42-04:00)
Maven home: C:\applications\programming\apache-maven-3.2.2
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: C:\applications\programming\jdk_7_51\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"

------------------

完整的settings.xml和pom.xml文件

(以下为 mvn deploymvn deploy -e 的完整日志)

settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
   <servers>
     <server>
       <id>ossrh</id>
       <username>MY_SONATYPE_DOT_COM_USERNAME</username>
       <password>MY_SONATYPE_DOT_COM_PASSWORD</password>
     </server>
   </servers>

   <pluginGroups></pluginGroups>
   <proxies></proxies>
   <mirrors></mirrors>
   <profiles></profiles>
</settings>

pom.xml中:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.github.aliteralmind</groupId>
   <artifactId>xbnjava</artifactId>
   <packaging>pom</packaging>
   <version>0.1.2</version>
   <name>XBN-Java</name>
   <url>https://github.com/aliteralmind/xbnjava</url>
   <inceptionYear>2014</inceptionYear>
   <organization>
      <name>Jeff Epstein</name>
   </organization>
   <description>XBN-Java is a collection of generically-useful backend (server side, non-GUI) programming utilities, featuring RegexReplacer and FilteredLineIterator. XBN-Java is the foundation of Codelet (http://codelet.aliteralmind.com).</description>

   <parent>
      <groupId>org.sonatype.oss</groupId>
      <artifactId>oss-parent</artifactId>
      <version>7</version>
   </parent>

   <licenses>
      <license>
         <name>Lesser General Public License (LGPL) version 3.0</name>
         <url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
      </license>
      <license>
         <name>Apache Software License (ASL) version 2.0</name>
         <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      </license>
   </licenses>

   <developers>
      <developer>
         <name>Jeff Epstein</name>
         <email>aliteralmind-github@yahoo.com</email>
         <roles>
            <role>Lead Developer</role>
         </roles>
      </developer>
   </developers>

   <issueManagement>
      <system>GitHub Issue Tracker</system>
      <url>https://github.com/aliteralmind/xbnjava/issues</url>
   </issueManagement>

   <distributionManagement>
      <snapshotRepository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
   </distributionManagement>

   <scm>
      <connection>scm:git:git@github.com:aliteralmind/xbnjava.git</connection>
      <url>scm:git:git@github.com:aliteralmind/xbnjava.git</url>
      <developerConnection>scm:git:git@github.com:aliteralmind/xbnjava.git</developerConnection>
   </scm>

   <properties>
      <java.version>1.7</java.version>
      <jarprefix>R:\jeffy\programming\build\/${project.artifactId}-${project.version}/download/${project.artifactId}-${project.version}</jarprefix>
   </properties>
<!--
  <profiles>
    <profile>
      <id>default-tools.jar</id>
      <activation>
        <property>
          <name>java.vendor</name>
          <value>Sun Microsystems Inc.</value>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>com.sun</groupId>
          <artifactId>tools</artifactId>
          <version>1.4.2</version>
          <scope>system</scope>
          <systemPath>${java.home}/../lib/tools.jar</systemPath>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
 -->
   <build>
      <plugins>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.8</version>
            <executions>
               <execution>
                  <id>attach-artifacts</id>
                  <phase>package</phase>
                  <goals>
                     <goal>attach-artifact</goal>
                  </goals>
                  <configuration>
                     <artifacts>
                        <artifact>
                           <file>${jarprefix}-all.jar</file>
                           <type>jar</type>
                        </artifact>
                     </artifacts>
                  </configuration>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>

   <profiles>
      <!--
      This profile will sign the JAR file, sources file, and javadocs file using the GPG key on the local machine.
      See: https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven
      -->
      <profile>
         <id>release-sign-artifacts</id>
         <activation>
            <property>
               <name>release</name>
               <value>true</value>
            </property>
         </activation>
      </profile>
   </profiles>
</project>

------------------

mvn deploy和mvn deploy -e的完整日志

mvn deploy 输出:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building XBN-Java 0.1.2
[INFO] ------------------------------------------------------------------------
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ xbnjava ---
[INFO] --- build-helper-maven-plugin:1.8:attach-artifact (attach-artifacts) @ xbnjava ---
[INFO] --- maven-install-plugin:2.4:install (default-install) @ xbnjava ---
[INFO] Installing R:\jeffy\programming\sandbox\z__for_git_commit_only\xbnjava\pom.xml to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.pom
[INFO] Installing R:\jeffy\programming\build\xbnjava-0.1.2\download\xbnjava-0.1.2-all.jar to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.jar
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ xbnjava ---
Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom
2/6 KB
4/6 KB
6/6 KB

(失败部分:)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.204 s
[INFO] Finished at: 2014-07-18T11:25:17-04:00
[INFO] Final Memory: 7M/17M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. 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

mvn deploy -e 输出:

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building XBN-Java 0.1.2
[INFO] ------------------------------------------------------------------------
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ xbnjava ---
[INFO] --- build-helper-maven-plugin:1.8:attach-artifact (attach-artifacts) @ xbnjava ---
[INFO] --- maven-install-plugin:2.4:install (default-install) @ xbnjava ---
[INFO] Installing R:\jeffy\programming\sandbox\z__for_git_commit_only\xbnjava\pom.xml to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.pom
[INFO] Installing R:\jeffy\programming\build\xbnjava-0.1.2\download\xbnjava-0.1.2-all.jar to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.jar
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ xbnjava ---
Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom
2/6 KB
4/6 KB
6/6 KB

(失败部分:)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.492 s
[INFO] Finished at: 2014-07-18T11:25:37-04:00
[INFO] Final Memory: 7M/17M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
   at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
   at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
   at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
   at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
   at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
   at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
   at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
   at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
   at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
   at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
   at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
   at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:193)
   at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
   ... 19 more
Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:143)
   at org.apache.maven.plugin.deploy.AbstractDeployMojo.deploy(AbstractDeployMojo.java:167)
   at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:149)
   ... 21 more
Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:337)
   at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:268)
   at org.eclipse.aether.internal.impl.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:413)
   at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:139)
   ... 23 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1016)
   at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.java:1004)
   at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:895)
   at org.eclipse.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:522)
   at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:331)
   ... 26 more
Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:573)
   at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:493)
   at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:474)
   at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:454)
   at org.eclipse.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:871)
   ... 28 more
[ERROR]
[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

17 回答

  • 0

    尝试将Gradle人工制品部署到Nexus Sonatype存储库时,我遇到了类似的错误 . 如果您提供了错误的凭据(密码等),您将收到401 Unauthorized错误 . 如果您尝试将某些内容发布到版本存储库,那么您也会收到错误(并且我的头脑也是401)因此您可能会发现通过从命令行发布它可以正常工作,但是当您从它失败的脚本(因为它第一次存在于存储库中) . 使用不同的版本号发布,或删除服务器上的旧工件并重新发布 .

    SNAPSHOTS存储库(与发布存储库相对)允许您覆盖类似编号的版本,但您的版本号应该在其末尾具有“-SNAPSHOT” .

  • 0

    此错误的原因之一是未指定或未正确指定repositoryId . 如前所述,它应该与settings.xml中的部分相同 . 几个提示...使用-e -X选项运行mvn并检查调试输出 . 它会告诉你它正在使用哪个repositoryId:

    [DEBUG]   (f) offline = false
    [DEBUG]   (f) packaging = exe
    [DEBUG]   (f) pomFile = c:\temp\build-test\pom.xml
    [DEBUG]   (f) project = MavenProject: org.apache.maven:standalone-pom:1 @ 
    [DEBUG]   (f) repositoryId = remote-repository
    [DEBUG]   (f) repositoryLayout = default
    [DEBUG]   (f) retryFailedDeploymentCount = 1
    [DEBUG]   (f) uniqueVersion = true
    [DEBUG]   (f) updateReleaseInfo = false
    [DEBUG]   (f) url = https://nexus.url.blah.com/...
    [DEBUG]   (f) version = 13.1
    [DEBUG] -- end configuration --
    

    在这种情况下,它使用默认值“remote-repository”,这意味着出现了问题 .

    显然我已经指定了-DrepositoryID(注释ID为大写)而不是-DrepositoryId .

  • 6

    我在settings.xml中放了一个未加密的密码 .

    我用curl测试了这个调用

    curl -u username:password http://url/artifactory/libs-snapshot-local/com/myproject/api/1.0-SNAPSHOT/api-1.0-20160128.114425-1.jar --request PUT --data target/api-1.0-SNAPSHOT.jar
    

    我收到了错误:

    {
      "errors" : [ {
        "status" : 401,
        "message" : "Artifactory configured to accept only encrypted passwords but received a clear text password."
      } ]
    }
    

    我点击了我的加密密码神器配置文件并解锁它 .

  • 39

    只需在settings.xml中更改这些就像aliteralmind所说:

    <server>
          <id>nexus-snapshots</id>
          <username>MY_SONATYPE_DOT_COM_USERNAME</username>
          <password>MY_SONATYPE_DOT_COM_PASSWORD</password>    
     </server>
    

    你可能需要从sonatype dot com获取用户名/密码 .

  • 1

    某些用户可能错误地输入了电子邮件地址而不是用户名 . 当电子邮件地址中的名称与用户名相同时,可能会无意识地发生这种情况 .

  • 2

    这是sonatype nexus团队关于 401 - Unauthorized 的官方解释

    我建议您阅读Troubleshooting Artifact Deployment Failures以获取更多信息 .

    代码401 - 未经授权请求中未发送登录凭据,或者发送了无效的登录凭据 . 检查Nexus UI中的“授权和身份验证”系统源可以帮助缩小范围 . 如果发送了凭据,则Feed中会有一个条目 . 如果没有发送凭据,则可能是由于pom的distributionManagement部分中的id与包含登录凭据的settings.xml的服务器部分之间的不匹配 .

  • 0

    还有来自Nexus的401 . 尝试了上面的所有建议,但没有成功,我最终发现这是一个错误的Jenkins设置 .

    在失败项目的Jenkins配置中,我们在“Post Build”操作中有一个 Headers 为“将工件部署到Maven存储库”的部分 . 这有一个'Repository ID'字段,它被设置为错误的值 . 它必须与settings.xml中的存储库ID相同,以便Jenkins读取用户和密码字段:

    Jenkins Project Configuration

    <servers>
        <server>
          <id>snapshot-repository</id>  <!-- must match this -->
          <username>deployment</username>
          <password>password</password>
        </server>
      </servers>
    
  • 7

    正如@ John的回答所述,事实上已经有一个 0.1.2-SNAPSHOT ,干扰了我的新非SNAPSHOT版本 0.1.2 . 由于 401 Unauthorized 错误是模糊且无益的 - 并且通常与用户/通行证问题相关 - 因此我无法自己解决这个问题也就不足为奇了 .

    将版本更改为 0.1.3 会让我回到原来的错误:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4:install (default-install) on project xbnjava: Failed to install artifact com.github.aliteralmind:xbnjava:jar:0.1.3: R:\jeffy\programming\build\xbnjava-0.1.3\download\xbnjava-0.1.3-all.jar (The system cannot find the path specified) -> [Help 1].

    一个sonatype支持人员还建议我从我的POM中删除 <parent> 块('s only there because it'中的's only there because it',这是我开始使用的)并替换我的 <distributionManagement>

    <distributionManagement>
      <snapshotRepository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
      <repository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
      </repository>
    </distributionManagement>
    and then make sure that lines up with what's in your settings.xml:
    <settings>
      <servers>
        <server>
          <id>ossrh</id>
          <username>your-jira-id</username>
          <password>your-jira-pwd</password>
        </server>
      </servers>
    </settings>
    

    执行此操作后,运行 mvn deploy 实际上第一次上传了我的一个 jar !!!

    输出:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building XBN-Java 0.1.3
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] --- build-helper-maven-plugin:1.8:attach-artifact (attach-artifacts) @ xbnjava ---
    [INFO]
    [INFO] --- maven-install-plugin:2.4:install (default-install) @ xbnjava ---
    [INFO] Installing R:\jeffy\programming\sandbox\z__for_git_commit_only\xbnjava\pom.xml to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.3\xbnjava-0.1.3.pom
    [INFO] Installing R:\jeffy\programming\build\xbnjava-0.1.3\download\xbnjava-0.1.3.jar to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.3\xbnjava-0.1.3.jar
    [INFO]
    [INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ xbnjava ---
    Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.pom
    2/6 KB
    4/6 KB
    6/6 KB
    
    Uploaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.pom (6 KB at 4.6 KB/sec)
    Downloading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml
    310/310 B
    
    Downloaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml (310 B at 1.6 KB/sec)
    Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml
    310/310 B
    
    Uploaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml (310 B at 1.4 KB/sec)
    Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.jar
    2/630 KB
    4/630 KB
    6/630 KB
    8/630 KB
    10/630 KB
    12/630 KB
    14/630 KB
    ...
    618/630 KB
    620/630 KB
    622/630 KB
    624/630 KB
    626/630 KB
    628/630 KB
    630/630 KB
    

    (成功部分:)

    Uploaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.jar (630 KB at 474.7 KB/sec)
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 4.632 s
    [INFO] Finished at: 2014-07-18T15:09:25-04:00
    [INFO] Final Memory: 6M/19M
    [INFO] ------------------------------------------------------------------------
    

    这是完整更新的POM:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.github.aliteralmind</groupId>
      <artifactId>xbnjava</artifactId>
      <packaging>pom</packaging>
      <version>0.1.3</version>
      <name>XBN-Java</name>
      <url>https://github.com/aliteralmind/xbnjava</url>
      <inceptionYear>2014</inceptionYear>
      <organization>
         <name>Jeff Epstein</name>
      </organization>
      <description>XBN-Java is a collection of generically-useful backend (server side, non-GUI) programming utilities, featuring RegexReplacer and FilteredLineIterator. XBN-Java is the foundation of Codelet (http://codelet.aliteralmind.com).</description>
    
      <licenses>
         <license>
            <name>Lesser General Public License (LGPL) version 3.0</name>
            <url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
         </license>
         <license>
            <name>Apache Software License (ASL) version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
         </license>
      </licenses>
    
      <developers>
         <developer>
            <name>Jeff Epstein</name>
            <email>aliteralmind-github@yahoo.com</email>
            <roles>
               <role>Lead Developer</role>
            </roles>
         </developer>
      </developers>
    
      <issueManagement>
         <system>GitHub Issue Tracker</system>
         <url>https://github.com/aliteralmind/xbnjava/issues</url>
      </issueManagement>
    
      <distributionManagement>
        <snapshotRepository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
      </distributionManagement>
    
      <scm>
         <connection>scm:git:git@github.com:aliteralmind/xbnjava.git</connection>
         <url>scm:git:git@github.com:aliteralmind/xbnjava.git</url>
         <developerConnection>scm:git:git@github.com:aliteralmind/xbnjava.git</developerConnection>
      </scm>
    
      <properties>
         <java.version>1.7</java.version>
         <jarprefix>R:\jeffy\programming\build\/${project.artifactId}-${project.version}/download/${project.artifactId}-${project.version}</jarprefix>
      </properties>
      <build>
         <plugins>
            <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>build-helper-maven-plugin</artifactId>
               <version>1.8</version>
               <executions>
                  <execution>
                     <id>attach-artifacts</id>
                     <phase>package</phase>
                     <goals>
                        <goal>attach-artifact</goal>
                     </goals>
                     <configuration>
                        <artifacts>
                           <artifact>
                              <file>${jarprefix}.jar</file>
                              <type>jar</type>
                           </artifact>
                        </artifacts>
                     </configuration>
                  </execution>
               </executions>
            </plugin>
         </plugins>
      </build>
    
      <profiles>
         <!--
         This profile will sign the JAR file, sources file, and javadocs file using the GPG key on the local machine.
         See: https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven
         -->
         <profile>
            <id>release-sign-artifacts</id>
            <activation>
               <property>
                  <name>release</name>
                  <value>true</value>
               </property>
            </activation>
         </profile>
      </profiles>
    </project>
    

    这是一个很大的Maven问题 . 只剩下627个了 .

  • 0

    我们最近遇到过这个问题,发现它与我们使用的Maven版本有关 . 我们使用3.1.0无法上传到nexus,我们一直收到401,我们又回到了3.0.3,问题就消失了 .

    最简单的确认方法是使用maven版本并在项目上运行“mvn deploy” .

    更多细节可以在这里找到:https://issues.apache.org/jira/browse/WAGON-421

  • 0

    在我的情况下,加密密码后,我忘了将 settings-security.xml 放入〜/ .m2 .

  • 1

    我有同样的错误 . 我试过并重新检查了一切 . 我是如此专注于堆栈跟踪,我没有在Reactor摘要和堆栈跟踪之前读取构建的最后几行:

    [DEBUG] Using connector AetherRepositoryConnector with priority 3.4028235E38 for http://www:8081/nexus/content/repositories/snapshots/
    [INFO] Downloading: http://www:8081/nexus/content/repositories/snapshots/com/wdsuite/com.wdsuite.server.product/1.0.0-SNAPSHOT/maven-metadata.xml
    [DEBUG] Could not find metadata com.group:artifact.product:version-SNAPSHOT/maven-metadata.xml in nexus (http://www:8081/nexus/content/repositories/snapshots/)
    [DEBUG] Writing tracking file /home/me/.m2/repository/com/group/project/version-SNAPSHOT/resolver-status.properties
    [INFO] Uploading: http://www:8081/nexus/content/repositories/snapshots/com/...-1.0.0-20141118.124526-1.zip
    [INFO] Uploading: http://www:8081/nexus/content/repositories/snapshots/com/...-1.0.0-20141118.124526-1.pom
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    

    这是关键: "Could not find metadata" . 虽然它说它是一个身份验证错误,但实际上它已经修复了在nexus存储库中执行"rebuild metadata" .

    希望能帮助到你 .

  • 0

    此外,在更新了存储库ID之后,请确保运行干净,因为 release:prepare 将从中断处继续 . 所以你可以这样做:

    mvn release:prepare -Dresume=false

    mvn release:clean release:prepare

  • 9

    Windows中有两个setting.xml .

    • %MAVEN_HOME%\conf\

    • %userprofile%\.m2\

    如果 %userprofile%\.m2\setting.xml 生效,maven将无法访问 %MAVEN_HOME%\conf\setting.xml .

  • 2

    我正在处理这个运行的Artifactory版本5.8.4 . “Set Me Up”函数将生成settings.xml,如下所示:

    <servers>
        <server>
          <username>${security.getCurrentUsername()}</username>
          <password>${security.getEscapedEncryptedPassword()!"AP56eMPz8L12T5u4J6rWdqWqyhQ"}</password>
          <id>central</id>
        </server>
        <server>
          <username>${security.getCurrentUsername()}</username>
          <password>${security.getEscapedEncryptedPassword()!"AP56eMPz8L12T5u4J6rWdqWqyhQ"}</password>
          <id>snapshots</id>
        </server>
    </servers>
    

    使用mvn deploy -e -X开关后,我注意到凭据不准确 . 我删除了$ {security.getCurrentUsername()}并将其替换为我的用户名并删除了$ {security.getEscapedEncryptedPassword()!“”}并将我的加密密码放入其中:

    <servers>
        <server>
          <username>username</username>
          <password>AP56eMPz8L12T5u4J6rWdqWqyhQ</password>
          <id>central</id>
        </server>
        <server>
          <username>username</username>
          <password>AP56eMPz8L12T5u4J6rWdqWqyhQ</password>
          <id>snapshots</id>
        </server>
    </servers>
    

    希望这可以帮助!

  • 0

    它可能是由错误的版本引起的,你可以仔细检查 parent's versionlib's version ,以确保它们经历同样的问题

  • 1

    在Nexus 3.13.0-01版本中,POM的 distributionManagement/repository 部分中的 id 必须与maven settings.xml中的 servers/server/idmirrors/mirror/id 匹配 . 我刚刚更换了nexus v3.10.4(3.13.0-01),并且不需要匹配3.10.4 .

  • 2

    有类似的问题 . 必须将maven deploy插件固定到pom.xml中的特定版本:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
         <version>2.8.2</version>
    </plugin>
    

    这个版本破坏了我的构建:

    [INFO] --- maven-deploy-plugin:3.0.0-M1:deploy (default-cli) @ dbl ---
    

相关问题