Mavenで「401 Unauthorized」エラーが発生するのはなぜですか?


115

Mavenで「401 Unauthorized」エラーが発生するのはなぜですか?

これが私が呼び出すときに得られるエラーです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サポートページによると:

「401を受け取っているのは、Mavenが間違ったログイン認証情報を送信しているか、まったく認証情報がないためです。」

以下は私の完全なであることの下に私が撮影した、ステップ、あるsettings.xmlpom.xmlファイル、およびその下のからの完全なログですmvn deploymvn deploy -e

任意のアイデアをいただければ幸いです。私はMavenで壁を次々と叩いています。


401エラーを受け取ったとき、私はsonatypeのチェックリストに従いました:

チェックリスト項目1Nexus UIにログインして、ユーザー名/パスワードが正しいことを確認してください。curlがマシンにインストールされている場合は、次の方法でアーティファクトをデプロイしてみてください...

  • user / pass inを使用して、sonatype.org Webサイトに正常にログインおよびログアウトしましたsettings.xml
  • 私がしようとし使用する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過去数日インチ

プロジェクトの設定:

プロジェクト設定

チェックリスト項目3でサーバーを設定settings.xmlし、サーバーIDがpom.xmlの配布リポジトリIDと同じであることを確認してください。

  • ではsettings.xml、settings / servers / server / idはossrh
  • ではpom.xml、distributionManagement / snapshotRepository / idはossrh

(完全なファイルは下部にあります)

チェックリスト項目4settings.xmlが正しい場所にあることを確認してください(通常は_〜/ .m2 / settings.xmlです)。これを確認するには、mvn help:effective-settingsを実行します。

Mavenの設定リファレンスによると、settings.xmlは次の2つの場所のいずれかにある必要があります。

  • Mavenのインストール: $M2_HOME/conf/settings.xml
  • ユーザーのインストール: ${user.home}/.m2/settings.xml

これが私の設定です:

  • settings.xmlC:\applications\programming\apache-maven-3.2.2\conf\settings.xml
  • M2_HOME です C:\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も取得する可能性があります。

どのURLを参照しているのかわかりません。

チェックリスト項目6401に関する既知の問題があるため、最新バージョンのMavenを使用してください: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.xmlpom.xmlファイル

(フルログmvn deployおよびmvn 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 deploymvn 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

参考: "MY_USERNAME" / "PASSWORD"プレースホルダーはこの質問にのみ含まれます。ログイン時と実際の設定ファイルで、実際のユーザー/パスを使用します。
aliteralmind 2014

1
項目3:サーバーIDとリポジトリIDを一致させる必要性は重要ですが、残念ながらこれはそれがどのように機能するかであり、あなたの答えは大いに役立ちました、ありがとう!
ソマルソマルスキ

回答:


51

GradleアーティファクトをNexus Sonatypeリポジトリーにデプロイしようとすると、同様のエラーが発生しました。間違った資格情報(パスワードなど)を指定すると、401 Unauthorizedエラーが発生します。また、リリースリポジトリに何かを公開しようとして、そのバージョンがリポジトリに既に存在する場合も、エラーが発生します(私の頭の上の部分も401です) そのため、コマンドラインから公開することで機能することがわかるかもしれませんが、スクリプトから実行すると失敗します(最初にリポジトリに存在しなかったため)。別のバージョン番号を使用して公開するか、サーバー上の古いアーティファクトを削除して再公開してください。

SNAPSHOTSリポジトリ(releasesリポジトリとは対照的)を使用すると、同様の番号のバージョンを上書きできますが、バージョン番号の最後に「-SNAPSHOT」が付いている必要があります。


2
信じられない。と思われる0.1.2-SNAPSHOTすでに、私の新しいと干渉する作成され、0.1.2あなたがお勧めとして、バージョンを。それを変更する0.1.0(「早い」)、または0.1.2a、または0.1.3(「後で」)私はエラーになりました。この1の前に対処:
aliteralmind

[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]。変更を加えたとは思いませんでしたが-SNAPSHOT、バージョンからそれを排除することは明らかに悪いことでした。
aliteralmind 2014

46
なぜ世界でエラーメッセージが...「無断401」と漠然として役に立たないような何かを言うだろう
aliteralmind

2
(settings.xmlまたはPOMで)資格情報を構成したリポジトリーのIDが、デプロイ先のリポジトリーと一致することを再確認してください。ちょうどこれにつまずいた。
グレゴール

1.2.0-SNAPSHOTを公開しようとしたときに、すでにリリースバージョン1.3.0があったという問題もありました...
Marcello de Sales

12

このエラーの理由の1つは、repositoryIdが指定されていないか、正しく指定されていない場合です。すでに述べたように、settings.xmlのセクションと同じである必要があります。いくつかのヒント... -e -Xオプションを指定してmvnを実行し、デバッグ出力を確認します。使用しているリポジトリIDがわかります。

[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の代わりに-DrepositoryID(IDは大文字)を指定したようです。


これで解決しましたが、ワークスペース内の他のプロジェクトでも、名前が一意のリリースリポジトリを見つけることができませんでした(中央プロキシでアーティファクトを探していました)。リリースプラグインの2.5.3を使用しています。そのため、でsettings.xml、両方のリポジトリIDを再び同一にした(スナップショットとリリース)が、同じリリースリポジトリ(基本的にはエイリアス)に一意のIDを使用して別の宣言を追加しました。これにより、固有の名前を必要とするプロジェクトと、同じ名前を使用してそれらを参照する古いプロジェクトが可能になりました。私たちのマスターポンは同じものを指します。
dan 2018

9

aliteralmindが言うように、settings.xmlでこれらを変更するだけです。

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

おそらく、sonatype dot comからユーザー名/パスワードを取得する必要があります。


Great ..私の問題を解決しました
Dhiral Pandya 2015


私も!本当にありがとう。
James Taylor

8

暗号化されていないパスワードをsettings.xmlに入れました。

カールで通話をテストしました

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."
  } ]
}

アーティファクトプロファイルをクリックしてロックを解除し、暗号化されたパスワードを取得しました。


1
ヒント:多くのcurl実装では、URLの前にオプションを付ける必要があります。この場合はcode curl -u username:password --request PUT --data target/api-1.0-SNAPSHOT.jar http://url/artifactory/libs-snapshot-local/com/myproject/api/1.0-SNAPSHOT/api-1.0-20160128.114425-1.jar代わりに使用してください
TouDick

4

ネクサスからの401も持っていました。上記のすべての提案を試してみたが成功しなかったが、結局それがJenkinsの設定に誤りがあることがわかった。

失敗したプロジェクトのJenkins構成には、「Post Build」アクションに「Deploy Artifacts To Maven Repository」というタイトルのセクションがあります。これには、間違った値に設定された「リポジトリID」フィールドがあります。Jenkinsがユーザーとパスワードのフィールドを読み取るには、settings.xmlのリポジトリIDと同じである必要があります。

Jenkinsプロジェクト構成

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

3

@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のサポート担当者も<parent>、POMからブロックを削除し(最初ez-vcardからのものであるため、そこにのみあります)、<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ファイルの1つが初めてアップロードされました。

出力:

[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の大きな問題の1つです。あと627枚です。


2

一部のユーザーは、誤ってユーザー名ではなく電子メールアドレスを入力した可能性があります。これは、電子メールアドレスの名前がユーザー名と同じである場合、無意識のうちに発生する可能性があります。


これにより、sonatype nexus 2.12を使用する際の問題が解決しました。私は自分のsettings.xmlでメールアドレスをユーザー名だけに変更する必要がありました
spuder

2

これは、401に関するsonatypeネクサスチームからの公式の説明です-無許可

詳細については、アーティファクトのデプロイメントエラーのトラブルシューティングを読むことをお勧めします。

コード401-不正

リクエストでログイン認証情報が送信されなかったか、無効なログイン認証情報が送信されました。Nexus UIで「承認と認証」のシステムフィードを確認すると、これを絞り込むことができます。資格情報が送信された場合、フィードにエントリがあります。

資格情報が送信されなかった場合、これはおそらく、pomのdistributionManagementセクションと、ログイン資格情報を保持するsettings.xmlのサーバーセクションのIDの不一致が原因です。


2

私の場合、パスワードを暗号化した後、settings-security.xml〜/ .m2 に入れるのを忘れました。


1

最近この問題があり、使用していたバージョンのMavenに関係していることがわかりました。私たちは3.1.0を使用していて、ネクサスにアップロードできませんでした。401を取得し続け、3.0.3に戻して問題は解消しました。

確認する最も簡単な方法は、Mavenバージョンを操作して、プロジェクトで「mvn deploy」を実行することです。

詳細については、https//issues.apache.org/jira/browse/WAGON-421をご覧ください。


1

私はこの実行中の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>

お役に立てれば!


セキュリティオブジェクトの値を使用するか、デフォルトとしてそれらにフォールバックすることになっているため、他の場所で誤って設定された値を持っているように思えます。しかし、うまくいったことを嬉しく思います!
Rup

1

Nexusバージョン3.13.0-01では、idPOMのdistributionManagement/repositoryセクションのは、maven settings.xmlのservers/server/idおよびと一致する必要があり mirrors/mirror/idます。私はネクサスv3.10.4(3.13.0-01)を置き換えただけで、3.10.4に合わせる必要はありませんでした。


1

同様の問題がありました。mavenデプロイプラグインを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 ---

それは助けになりました、許可が取り消された場合、アーティファクトを探索するために数日間奮闘し、それからこれを発見しました。
Karthik Prasad

0

同じエラーが発生しました。私はすべてを試し、再確認しました。私はスタックトレースに非常に集中していたため、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:

これがキーでした「メタデータが見つかりませんでした」。認証エラーとのことですが、実際にはネクサスリポジトリで「メタデータの再構築」を行うことで修正されました。

それが役に立てば幸い。


同じ「メタデータが見つかりませんでした」というデバッグメッセージが表示されましたが、実際のエラーは別のエラーでした。間違ったユーザー名を使用しました。
rwitzel

0

また、リポジトリIDを更新した後、release:prepare中断したところから再開できるように、クリーンに実行してください。だからあなたはできる:

mvn release:prepare -Dresume=false または

mvn release:clean release:prepare


0

ウィンドウには2つのsetting.xmlがあります。

  • %MAVEN_HOME%\conf\
  • %userprofile%\.m2\

場合%userprofile%\.m2\setting.xmlに有効になり、Mavenはアクセスしません%MAVEN_HOME%\conf\setting.xml


0

間違ったバージョンが原因である可能性があります。親のバージョンlibのバージョンを再確認して、それらが正しく、重複していないことを確認してください。同じ問題が発生しました


0

コマンドを401使用するmvn gpg:sign-and-deploy-fileとエラーが発生しました。理由は、次と同じ場所から取得できるタグが<MVN_HOME>/conf/settings.xml含まれていないため<server>です。https://oss.sonatype.org/#profile;User%20Token<id>-DrepositoryId

取得するには<MVN_HOME>、実行をmvn --version


0

私の場合、centralのサーバーログオン資格情報を設定から削除しました。

    <server> 
        <id>central</id>
        <username>admin</username> 
        <password>******</password> 
    </server>

   <mirror>
        <id>central</id>
        <mirrorOf>central</mirrorOf>
        <name>maven-central</name>
        <url>http://www.localhost:8081/repository/maven-central/</url>
   </mirror> 

なぜそうしたのかはわかりませんが、中央のmavenリポジトリに匿名でアクセスできるため、完全に間違っています。エラーの特定と解決につながったデバッグ出力を参照してください。

[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for http://www.localhost:8081/repository/maven-central/ with username=admin, password=***

0

ファイルの転送に失敗しました:
http : //mcpappxxxp.dev.chx.s.com : 18080 / artifactory / mcprepo-release-local / Shop / loyalty-telluride / 01.16.03 / loyalty-tell-01.16.03.jar
戻りコードは、401、ReasonPhrase:Unauthorizedです。-> [ヘルプ1]

解決:

この場合、pomファイルのバージョンを変更し、新しいバージョンを使用する必要があります。

ここに01.16.03はすでに存在しているため、失敗し、01.16.04バージョンで試したところ、ジョブは成功しました。


-1

Artifactoryリポジトリーにデプロイしようとすると同じエラーが発生しましたが、以下で問題が解決しました:

アーティファクトのリポジトリ設定に移動し、ポイント「Force Maven Authentication」を有効にすると、401「Unauthorized」エラーがなくなるはずです。(もちろん、問題を防ぐために、せいぜいプレーンテキストで settings.xmlファイルに資格情報を提供する必要があります

デフォルトでは、settings.xmlファイルで正しい資格情報を指定しても、それらが使用されず、Unauthorized例外が発生すると思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.