Warum erhalte ich in Maven den Fehler "401 Unauthorized"?
Hier ist der Fehler, den ich beim Aufrufen erhalte mvn deploy
(vollständige Protokolle unten):
[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]
Laut dieser Sonatype-Support-Seite :
"Wenn Sie eine 401 erhalten, liegt dies daran, dass maven die falschen Anmeldeinformationen oder überhaupt keine Anmeldeinformationen sendet."
Nachfolgend sind die Schritte aufgeführt, die ich unternommen habe. Darunter befinden sich meine vollständigen settings.xml
und pom.xml
Dateien sowie die vollständigen Protokolle von mvn deploy
und mvn deploy -e
.
Irgendwelche Ideen wären willkommen. Ich treffe nur Wand für Wand mit Maven.
Ich habe die Checkliste von sonatype befolgt, als ich einen 401-Fehler erhalten habe:
Checkliste Punkt 1 . Stellen Sie sicher, dass Ihr Benutzername / Passwort korrekt ist, indem Sie sich bei der Nexus-Benutzeroberfläche anmelden. Wenn Curl auf Ihrem Computer installiert ist, können Sie versuchen, ein Artefakt mit ...
- Ich habe mich mit dem Benutzer / Pass-In erfolgreich auf der Website sonatype.org an- und abgemeldet
settings.xml
. - Ich habe versucht ,
curl
ein Artefakt mit dem Befehl manuell bereitzustellen
[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
habe aber diesen Fehler bekommen:
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.
Ich habe es mit der -k
Option erneut ausgeführt und diesmal nur Folgendes:
Couldn't read data from file "pom.xml", this makes an empty POST.
Ich habe noch nie Curl verwendet, daher weiß ich nicht, was ich mit diesen Informationen anfangen soll.
Checkliste Punkt 2 . Wenn keine Fehlerausgabe erfolgt, stellen Sie sicher, dass Ihre Benutzerrechte auf dem Server korrekt konfiguriert sind. Stellen Sie sicher, dass Sie das gerade erstellte Repo löschen.
Ich weiß nicht, was "Tropfen" bedeutet. Ich glaube, meine Berechtigungen sind ordnungsgemäß installiert, da ich diese Nachricht vom Sonatyp erhalten habe:
- Die Konfiguration wurde vorbereitet, jetzt können Sie:
- Stellen Sie Snapshot-Artefakte im Repository bereit https://oss.sonatype.org/content/repositories/snapshots bereit
- Stellen Sie Release-Artefakte im Staging-Repository bereit https://oss.sonatype.org/service/local/staging/deploy/maven2 bereit
- Bewerben Sie inszenierte Artefakte im Repository 'Releases'.
- Laden Sie den Schnappschuss herunter und geben Sie Artefakte aus der Gruppe frei https://oss.sonatype.org/content/groups/public frei
- Laden Sie Snapshot-, Release- und inszenierte Artefakte von der Staging-Gruppe https://oss.sonatype.org/content/groups/staging herunter
und ich habe diese Elemente erfolgreich über auf den Server gestelltmvn deploy
in den letzten Tagen .
Die Projekteinstellungen:
Checkliste Punkt 3 . Stellen Sie sicher, dass Sie einen Server in konfiguriert haben
settings.xml
und dass die Server-ID mit der Distributions-Repository-ID in pom.xml identisch ist.
- In
settings.xml
sind Einstellungen / Server / Server / ID gleichossrh
- In
pom.xml
ist DistributionManagement / SnapshotRepository / ID gleichossrh
(Vollständige Dateien finden Sie unten)
Checkliste Punkt 4 . Stellen Sie sicher, dass sich Ihre settings.xml an der richtigen Stelle befindet (normalerweise ist es _ ~ / .m2 / settings.xml). Sie können dies überprüfen, indem Sie die mvn-Hilfe ausführen: effektive Einstellungen.
Nach dem Maven Einstellungen Referenz , settings.xml muß in einem von zwei Orten sein:
- Die Maven-Installation:
$M2_HOME/conf/settings.xml
- Installation eines Benutzers:
${user.home}/.m2/settings.xml
Hier ist mein Setup:
settings.xml
::C:\applications\programming\apache-maven-3.2.2\conf\settings.xml
M2_HOME
istC:\applications\programming\apache-maven-3.2.2
Ausgabe für 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] ------------------------------------------------------------------------
Checkliste Punkt 5 . Wenn der Server https verwendet, die URL in Ihrem POM jedoch http lautet, erhalten Sie möglicherweise auch 401.
Ich verstehe nicht, auf welche URL es sich bezieht.
Checklistenpunkt 6 . Verwenden Sie die neueste Version von Maven, da ein Problem mit 401: MNG-4469 bekannt ist
Ich verwende die neueste Version:
[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"
------------------ ------------------.
Voll settings.xml
und pom.xml
Dateien
(Vollständige Protokolle für mvn deploy
und mvn deploy -e
unten)
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>[email protected]</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:[email protected]:aliteralmind/xbnjava.git</connection>
<url>scm:git:[email protected]:aliteralmind/xbnjava.git</url>
<developerConnection>scm:git:[email protected]: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>
------------------ ------------------.
Vollständige Protokolle für mvn deploy
undmvn deploy -e
mvn deploy
Ausgabe:
[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
(Fehlerabschnitt :)
[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
Ausgabe:
[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
(Fehlerabschnitt :)
[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
Antworten:
Beim Versuch, ein Gradle-Artefakt in einem Nexus Sonatype-Repository bereitzustellen, sind ähnliche Fehler aufgetreten. Sie erhalten eine 401 Unauthorized-Fehlermeldung, wenn Sie die falschen Anmeldeinformationen (Kennwort usw.) angeben. Sie erhalten auch eine Fehlermeldung (und auf den ersten Blick ist auch eine 401), wenn Sie versuchen, etwas in einem Release-Repository zu veröffentlichen, und diese Version bereits im Repository vorhanden ist. Möglicherweise stellen Sie fest, dass das Veröffentlichen über die Befehlszeile funktioniert. Wenn Sie es jedoch über ein Skript ausführen, schlägt dies fehl (da es beim ersten Mal nicht im Repository vorhanden war). Veröffentlichen Sie entweder mit einer anderen Versionsnummer oder löschen Sie das alte Artefakt auf dem Server und veröffentlichen Sie es erneut.
Mit dem SNAPSHOTS-Repository (im Gegensatz zum Release-Repository) können Sie eine ähnlich nummerierte Version überschreiben, aber Ihre Versionsnummer sollte am Ende "-SNAPSHOT" enthalten.
quelle
0.1.2-SNAPSHOT
, was bereits erstellt wurde, meine neue0.1.2
Version stört , wie Sie vorschlagen. Ändern sie0.1.0
( „früher“), oder0.1.2a
, oder0.1.3
( „später“) führt zu der Störung , die ich war mit dem Umgang vor diesem:[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]
. Ich dachte nicht, dass ich irgendwelche Änderungen vorgenommen hätte, aber es war offensichtlich-SNAPSHOT
eine schlechte Sache , das aus der Version zu entfernen.Einer der Gründe für diesen Fehler liegt darin, dass die repositoryId nicht oder falsch angegeben wurde. Wie bereits erwähnt, sollte es das gleiche sein wie im Abschnitt in settings.xml. Einige Hinweise ... Führen Sie mvn mit den Optionen -e -X aus und überprüfen Sie die Debug-Ausgabe. Hier erfahren Sie, welche Repository-ID verwendet wird:
In diesem Fall wird der Standardwert "Remote-Repository" verwendet, was bedeutet, dass ein Fehler aufgetreten ist.
Anscheinend habe ich -DrepositoryID (Notiz-ID in Großbuchstaben) anstelle von -DrepositoryId angegeben.
quelle
settings.xml
Fall habe ich beide Repo-IDs wieder identisch gemacht (Snapshot und Release), aber dann habe ich eine weitere Deklaration mit einer eindeutigen ID für dasselbe Release-Repo hinzugefügt (im Grunde genommen ein Alias). Dies ermöglichte es Projekten, für die der eindeutige Name erforderlich war, darauf zu verweisen, und älteren Projekten, die identische Namen verwendeten, um auf sie zu verweisen. Unser Master-Pom bezieht sich auf das Identische.Ändern Sie einfach in settings.xml diese, wie aliteralmind sagt:
Sie müssen wahrscheinlich den Benutzernamen / das Passwort von sonatype dot com erhalten.
quelle
Ich hatte ein nicht verschlüsseltes Passwort in die settings.xml eingefügt.
Ich habe den Anruf mit Curl getestet
und ich habe den Fehler bekommen:
Ich habe mein verschlüsseltes Passwort abgerufen, indem ich auf mein künstliches Profil geklickt und es entsperrt habe.
quelle
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
stattdessenHatte auch 401 von Nexus. Nachdem ich alle oben genannten und weitere Vorschläge ohne Erfolg ausprobiert hatte, stellte ich schließlich fest, dass es sich um eine fehlerhafte Jenkins-Einstellung handelte.
In der Jenkins-Konfiguration für das fehlgeschlagene Projekt haben wir einen Abschnitt in den Aktionen "Nach dem Erstellen" mit dem Titel "Artefakte im Maven-Repository bereitstellen". Dies hat ein 'Repository ID'-Feld, das auf den falschen Wert gesetzt wurde. Es muss mit der Repository-ID in settings.xml identisch sein, damit Jenkins die Benutzer- und Kennwortfelder lesen kann:
quelle
Wie in der Antwort von @ John angegeben, hat die Tatsache, dass es bereits eine gibt
0.1.2-SNAPSHOT
, meine neue Nicht-SNAPSHOT-Version beeinträchtigt0.1.2
. Seit der401 Unauthorized
Fehler nebulös und nicht hilfreich ist und normalerweise mit Benutzer- / Passproblemen verbunden ist, ist es keine Überraschung, dass ich dies nicht selbst herausfinden konnte.Wenn Sie die Version so
0.1.3
ändern, dass ich zu meinem ursprünglichen Fehler zurückkehre:[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].
Eine Sonatype-Support-Person empfahl außerdem, den
<parent>
Block aus meinem POM zu entfernen (er ist nur dort, weil er sich in dem von ez-vcard befindet, mit dem ich begonnen habe) und meinen<distributionManagement>
Block durch zu ersetzenDanach hat das Laufen
mvn deploy
zum ersten Mal eines meiner Gläser hochgeladen !!!Ausgabe:
(Erfolgsteil :)
Hier ist das vollständig aktualisierte POM:
Das ist ein großes Maven-Problem aus dem Weg. Nur noch 627 übrig.
quelle
Einige Benutzer haben möglicherweise versehentlich die E-Mail-Adresse anstelle des Benutzernamens eingegeben. Dies kann unbewusst passieren, wenn der Name in der E-Mail-Adresse mit dem Benutzernamen übereinstimmt.
quelle
Dies ist die offizielle Erklärung des Sonatype Nexus-Teams zu 401 - Unauthorized
Ich empfehle Ihnen, die Fehlerbehebung bei Fehlern bei der Bereitstellung von Artefakten zu lesen, um weitere Informationen zu erhalten.
quelle
in meinem Fall habe ich nach dem Verschlüsseln des Passworts vergessen,
settings-security.xml
~ / .m2 einzugeben。quelle
Wir hatten dieses Problem vor kurzem und haben herausgefunden, dass es mit der von uns verwendeten Version von Maven zu tun hat. Wir verwendeten 3.1.0 und konnten nicht auf nexus hochladen. Wir bekamen immer wieder 401, wir kehrten zu 3.0.3 zurück und das Problem verschwand.
Die einfachste Möglichkeit zur Bestätigung besteht darin, die Maven-Versionen durchzuarbeiten und "mvn deploy" für Ihr Projekt auszuführen.
Weitere Details finden Sie hier: https://issues.apache.org/jira/browse/WAGON-421
quelle
Ich habe mich mit dieser laufenden Artifactory-Version 5.8.4 befasst. Die Funktion "Set Me Up" generiert die Datei settings.xml wie folgt:
Nachdem ich den Schalter mvn deploy -e -X verwendet hatte, stellte ich fest, dass die Anmeldeinformationen nicht korrekt waren. Ich habe das $ {security.getCurrentUsername ()} entfernt und durch meinen Benutzernamen ersetzt und $ {security.getEscapedEncryptedPassword ()! ""} Entfernt und einfach mein verschlüsseltes Passwort eingegeben, das für mich funktioniert hat:
Hoffe das hilft!
quelle
In der Nexus-Version 3.13.0-01 MUSS das im Abschnitt
id
des POMdistributionManagement/repository
übereinstimmendeservers/server/id
und dasmirrors/mirror/id
in Ihrer maven settings.xml übereinstimmen. Ich habe gerade nexus v3.10.4 (durch 3.13.0-01) ersetzt und es wurde nicht benötigt, um für 3.10.4 zu passen.quelle
Hatte ein ähnliches Problem. Musste das Maven Deploy Plugin an eine bestimmte Version in pom.xml anheften:
Diese Version hat meine Builds kaputt gemacht:
quelle
Ich hatte den gleichen Fehler. Ich habe versucht und alles noch einmal überprüft. Ich war so auf den Stack-Trace konzentriert, dass ich die letzten Zeilen des Builds vor der Reactor-Zusammenfassung und dem Stack-Trace nicht gelesen habe:
Dies war der Schlüssel: "Metadaten konnten nicht gefunden werden" . Obwohl es sich um einen Authentifizierungsfehler handelte, wurde das Problem behoben, indem eine "Metadaten neu erstellen" im Nexus-Repository durchgeführt wurde.
Ich hoffe es hilft.
quelle
Nachdem Sie Ihre Repository-IDs aktualisiert haben, stellen Sie außerdem sicher, dass Sie sauber laufen, da
release:prepare
sie dort weitermachen, wo sie aufgehört haben. So können Sie tun:mvn release:prepare -Dresume=false
odermvn release:clean release:prepare
quelle
In Windows gibt es zwei settings.xml.
%MAVEN_HOME%\conf\
%userprofile%\.m2\
Wenn dies
%userprofile%\.m2\setting.xml
wirksam wird, greift der Maven nicht zu%MAVEN_HOME%\conf\setting.xml
.quelle
Es könnte durch eine falsche Version verursacht werden. Sie können die Version der Eltern und der lib-Version überprüfen , um sicherzustellen, dass sie korrekt und nicht dupliziert sind. Ich habe das gleiche Problem festgestellt
quelle
Ich habe eine
401
Fehlermeldung erhalten, als dermvn gpg:sign-and-deploy-file
Befehl verwendet wurde, und der Grund war, dass<MVN_HOME>/conf/settings.xml
kein<server>
Tag enthalten ist, das Sie überhttps://oss.sonatype.org/#profile;User%20Token
where erhalten können,<id>
das dasselbe ist wie-DrepositoryId
Um zu
<MVN_HOME>
rennenmvn --version
quelle
In meinem Fall habe ich die Anmeldeinformationen für den Server für Central aus meiner Einstellung entfernt.
Ich weiß nicht, warum ich das getan habe, aber es ist völlig falsch, da auf das zentrale Maven-Repo anonym zugegriffen werden kann. Siehe meine Debug-Ausgabe, die zu meiner Fehleridentifikation und -behebung geführt hat.
quelle
Lösung:
In diesem Fall müssen Sie die Version in der POM-Datei ändern und versuchen, eine neue Version zu verwenden.
Hier ist der 01.16.03 bereits vorhanden, daher ist er fehlgeschlagen, und als ich es mit der Version 01.16.04 versucht habe, war der Job erfolgreich.
quelle
Beim Bereitstellen in einem Artifactory-Repository wurde der gleiche Fehler angezeigt. Folgendes hat das Problem für mich behoben:
Gehen Sie zu der Repository-Einstellung in artifactory und aktivieren Sie den Punkt " Force Maven Authentication " und der Fehler "Unauthorized" von 401 sollte verschwunden sein. (Natürlich müssen Sie Ihre Anmeldeinformationen in der Datei settings.xml bestenfalls im Klartext angeben, um Probleme zu vermeiden )
Ich denke, selbst wenn Sie die richtigen Anmeldeinformationen in der Datei settings.xml angeben, werden diese standardmäßig nicht verwendet und Sie erhalten die Ausnahme "Nicht autorisiert".
quelle