Pourquoi est-ce que j'obtiens une erreur "401 Unauthorized" dans Maven?
Voici l'erreur que je reçois lors de l'appel mvn deploy
(journaux complets en bas):
[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]
Selon cette page de support sonatype :
"Si vous recevez un 401, c'est parce que maven envoie les mauvais identifiants de connexion, ou aucun identifiant du tout."
Vous trouverez ci-dessous les étapes que j'ai suivies, ci-dessous mes fichiers complets settings.xml
et pom.xml
, et ci-dessous les journaux complets de mvn deploy
et mvn deploy -e
.
Toute idée serait appréciée. Je ne fais que frapper mur après mur avec Maven.
J'ai suivi la liste de contrôle de sonatype lors de la réception d'une erreur 401:
Élément de la liste de contrôle 1 . Assurez-vous que votre nom d'utilisateur / mot de passe est correct en vous connectant à l'interface utilisateur du Nexus. Si curl est installé sur votre machine, vous pouvez essayer de déployer un artefact avec ...
- Je me suis connecté et déconnecté avec succès du site Web sonatype.org, en utilisant l'utilisateur / pass in
settings.xml
. - J'ai essayé d'utiliser
curl
pour déployer manuellement un artefact, avec la commande
[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
mais j'ai cette erreur:
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.
Je l'ai exécuté à nouveau avec l' -k
option, et cette fois je n'ai obtenu que ceci:
Couldn't read data from file "pom.xml", this makes an empty POST.
Je n'ai jamais utilisé curl auparavant, je ne sais donc pas quoi faire avec ces informations.
Élément de la liste de contrôle 2 . S'il n'y a pas de sortie d'erreur, assurez-vous que vos privilèges d'utilisateur sont correctement configurés sur le serveur. Assurez-vous de supprimer le repo que vous venez de créer.
Je ne sais pas ce que signifie «goutte». Je pense que mes privilèges sont correctement installés, car j'ai reçu ce message de sonatype:
- La configuration a été préparée, vous pouvez maintenant:
- Déployez les artefacts de snapshot dans le référentiel https://oss.sonatype.org/content/repositories/snapshots
- Déployez les artefacts de version dans le référentiel intermédiaire https://oss.sonatype.org/service/local/staging/deploy/maven2
- Promouvoir les artefacts mis en scène dans le référentiel 'Releases'
- Téléchargez l'instantané et libérez les artefacts du groupe https://oss.sonatype.org/content/groups/public
- Téléchargez l'instantané, la version et les artefacts mis en scène à partir du groupe de préparation https://oss.sonatype.org/content/groups/staging
et je l' ai réussi à mettre ces éléments sur le serveur via mvn deploy
dans les derniers jours de couple.
Les paramètres du projet:
Élément de la liste de contrôle 3 . Assurez-vous que vous avez configuré un serveur dans
settings.xml
et que l'ID du serveur est identique à l'ID du référentiel de distribution dans pom.xml.
- Dans
settings.xml
, settings / servers / server / id est égal àossrh
- Dans
pom.xml
, distributionManagement / snapshotRepository / id est égal àossrh
(les fichiers complets sont en bas)
Élément de la liste de contrôle 4 . Assurez-vous que votre settings.xml est au bon endroit (normalement c'est _ ~ / .m2 / settings.xml). Vous pouvez vérifier cela en exécutant mvn help: effective-settings.
Selon la référence des paramètres de Maven , settings.xml doit être dans l'un des deux emplacements:
- L'installation de Maven:
$M2_HOME/conf/settings.xml
- Installation d'un utilisateur:
${user.home}/.m2/settings.xml
Voici ma configuration:
settings.xml
:C:\applications\programming\apache-maven-3.2.2\conf\settings.xml
M2_HOME
estC:\applications\programming\apache-maven-3.2.2
Sortie pour 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] ------------------------------------------------------------------------
Élément de la liste de contrôle 5 . Si le serveur utilise https mais que l'URL de votre POM est http, vous pouvez également obtenir 401.
Je ne comprends pas à quelle URL il fait référence.
Élément de la liste de contrôle 6 . Utilisez la dernière version de Maven, car il existe un problème connu concernant 401: MNG-4469
J'utilise la dernière 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"
------------------
Complet settings.xml
et pom.xml
fichiers
(Journaux complets pour mvn deploy
et mvn deploy -e
ci - dessous)
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>
------------------
Journaux complets pour mvn deploy
etmvn deploy -e
mvn deploy
production:
[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
(Section d'échec :)
[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
production:
[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
(Section d'échec :)
[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
Réponses:
J'ai eu des erreurs similaires en essayant de déployer un artefact Gradle dans un référentiel Nexus Sonatype. Vous obtiendrez une erreur 401 non autorisée si vous fournissez de mauvaises informations d'identification (mot de passe, etc.). Vous obtenez également une erreur (et au sommet de ma tête se trouve également un 401) si vous essayez de publier quelque chose dans un référentiel de versions et que cette version existe déjà dans le référentiel. Vous constaterez peut-être qu'en publiant à partir de la ligne de commande, cela fonctionne, mais lorsque vous le faites à partir d'un script, cela échoue (car il n'existait pas dans le référentiel la première fois). Publiez en utilisant un numéro de version différent ou supprimez l'ancien artefact sur le serveur et republiez.
Le référentiel SNAPSHOTS (par opposition au référentiel des versions) vous permet d'écraser une version numérotée de manière similaire, mais votre numéro de version doit avoir "-SNAPSHOT" à la fin de celui-ci.
la source
0.1.2-SNAPSHOT
, qui est déjà créé, interfère avec ma nouvelle0.1.2
version, comme vous le suggérez. Changement à0.1.0
( « plus tôt »), ou0.1.2a
, ou0.1.3
( « plus tard ») se traduit par l'erreur que j'ai affaire avant de celui - ci:[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]
. Je ne pensais pas avoir apporté de modifications, mais de toute évidence éliminer cela-SNAPSHOT
de la version était une mauvaise chose.L'une des raisons de cette erreur est lorsque repositoryId n'est pas spécifié ou spécifié de manière incorrecte. Comme mentionné déjà, cela devrait être le même que dans la section dans settings.xml. Quelques conseils ... Exécutez mvn avec les options -e -X et vérifiez la sortie de débogage. Il vous dira quel repositoryId il utilise:
Dans ce cas, il utilise la valeur par défaut "remote-repository", ce qui signifie que quelque chose s'est mal passé.
Apparemment, j'ai spécifié -DrepositoryID (ID de note en majuscule) au lieu de -DrepositoryId.
la source
settings.xml
, j'ai rendu les deux ID de repo identiques à nouveau (instantané et version), mais j'ai ensuite ajouté une autre déclaration avec un ID unique pour notre même dépôt de version (essentiellement un alias). Cela permettait aux projets qui nécessitaient le nom unique de s'y référer, et aux projets plus anciens qui utilisaient les mêmes noms de s'y référer. Notre maître-pom se réfère à l'identique.il suffit de changer dans settings.xml ceux-ci comme le dit aliteralmind:
vous devez probablement obtenir le nom d'utilisateur / mot de passe de sonatype dot com.
la source
J'avais mis un mot de passe non chiffré dans le settings.xml.
J'ai testé l'appel avec curl
et j'ai eu l'erreur:
J'ai récupéré mon mot de passe crypté en cliquant sur mon profil artificiel et en le déverrouillant.
la source
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
placeAvait également 401 de Nexus. Après avoir essayé toutes les suggestions ci-dessus et plus sans succès, j'ai finalement trouvé que c'était un paramètre Jenkins qui était erroné.
Dans la configuration Jenkins pour le projet en échec, nous avons une section dans les actions 'Post Build' intitulée 'Deploy Artifacts To Maven Repository'. Cela a un champ «ID de référentiel» qui a été défini sur une valeur incorrecte. Il doit être le même que l'ID du référentiel dans settings.xml pour que Jenkins puisse lire les champs utilisateur et mot de passe:
la source
Comme indiqué dans la réponse de @ John, le fait qu'il y ait déjà un
0.1.2-SNAPSHOT
, a interféré avec ma nouvelle version non-SNAPSHOT0.1.2
. Étant donné que l'401 Unauthorized
erreur est nébuleuse et inutile - et est normalement associée à des problèmes d'utilisateur / de réussite - il n'est pas surprenant que je n'ai pas pu comprendre cela par moi-même.Changer la version en
0.1.3
me ramène à mon erreur d'origine:[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].
Une personne de support de sonatype m'a également recommandé de supprimer le
<parent>
bloc de mon POM (il est uniquement là parce qu'il est dans celui de ez-vcard , avec lequel j'ai commencé) et de remplacer mon<distributionManagement>
bloc parAprès cela, l'exécution a en
mvn deploy
fait téléchargé un de mes pots pour la toute première fois !!!Production:
(Partie de réussite :)
Voici le POM mis à jour complet:
C'est un gros problème Maven à l'écart. Seulement 627 de plus à faire.
la source
Certains utilisateurs peuvent avoir saisi l'adresse e-mail au lieu du nom d'utilisateur par erreur. Cela peut arriver inconsciemment lorsque le nom de l'adresse e-mail est le même que le nom d'utilisateur.
la source
Ceci est l'explication officielle de l'équipe de sonatype nexus à propos de 401 - Non autorisé
Je vous recommande de lire Dépannage des échecs de déploiement d'artefacts pour plus d'informations.
la source
dans mon cas, après avoir chiffré le mot de passe , j'ai oublié de le mettre
settings-security.xml
dans ~ / .m2。la source
Nous avons eu ce problème assez récemment et avons découvert qu'il était lié à la version de Maven que nous utilisions. Nous utilisions 3.1.0 et ne pouvions pas télécharger sur nexus, nous avons continué à obtenir des 401, nous sommes revenus à la version 3.0.3 et le problème a disparu.
Le moyen le plus simple de confirmer est de parcourir les versions de maven et d'exécuter «mvn deploy» sur votre projet.
Plus de détails peuvent être trouvés ici: https://issues.apache.org/jira/browse/WAGON-421
la source
J'avais affaire à cette version Artifactory 5.8.4 en cours d'exécution. La fonction "Set Me Up" générerait settings.xml comme suit:
Après avoir utilisé le commutateur mvn deploy -e -X, j'ai remarqué que les informations d'identification n'étaient pas exactes. J'ai supprimé $ {security.getCurrentUsername ()} et l'ai remplacé par mon nom d'utilisateur et j'ai supprimé $ {security.getEscapedEncryptedPassword ()! ""} Et je viens de mettre mon mot de passe chiffré qui a fonctionné pour moi:
J'espère que cela t'aides!
la source
Dans la version 3.13.0-01 de Nexus, le
id
dans ladistributionManagement/repository
section du POM DOIT correspondre auservers/server/id
etmirrors/mirror/id
dans votre maven settings.xml. Je viens de remplacer nexus v3.10.4 (par 3.13.0-01) et il n'était pas nécessaire de correspondre à 3.10.4.la source
Eu un problème similaire. J'ai dû épingler le plugin maven deploy à une version spécifique dans pom.xml:
Cette version est ce qui a cassé mes builds:
la source
J'ai eu la même erreur. J'ai tout essayé et tout revérifié. J'étais tellement concentré dans la trace de la pile que je n'ai pas lu les dernières lignes de la construction avant le résumé de Reactor et la trace de la pile:
C'était la clé: "Impossible de trouver les métadonnées" . Bien qu'il ait dit qu'il s'agissait d'une erreur d'authentification, il a été corrigé en effectuant une "reconstruction des métadonnées" dans le référentiel nexus.
J'espère que ça aide.
la source
De plus, après avoir mis à jour vos identifiants de référentiel, assurez-vous que vous exécutez clean car
release:prepare
il reprendra là où il s'est arrêté. Vous pouvez donc faire:mvn release:prepare -Dresume=false
oumvn release:clean release:prepare
la source
Il y a deux setting.xml dans Windows.
%MAVEN_HOME%\conf\
%userprofile%\.m2\
Si
%userprofile%\.m2\setting.xml
prend effet, maven n'y accédera pas%MAVEN_HOME%\conf\setting.xml
.la source
Cela pourrait être causé par une mauvaise version, vous pouvez vérifier la version du parent et la version de la bibliothèque , pour vous assurer qu'elles sont correctes et non dupliquées, j'ai rencontré le même problème
la source
J'ai eu une
401
erreur lors de l'utilisation de lamvn gpg:sign-and-deploy-file
commande et la raison en était que cela<MVN_HOME>/conf/settings.xml
n'inclut pas la<server>
balise que vous pouvez obtenir viahttps://oss.sonatype.org/#profile;User%20Token
où<id>
est le même que-DrepositoryId
Pour
<MVN_HOME>
courirmvn --version
la source
Dans mon cas, j'ai supprimé les informations de connexion au serveur pour central de mon paramètre.
Je ne sais pas pourquoi j'ai fait cela, mais c'est complètement faux puisque le repo central maven est accessible de manière anonyme. Voir ma sortie de débogage qui a conduit à mon identification et à ma résolution d'erreur.
la source
Solution:
Dans ce cas, vous devez changer la version dans le fichier pom et essayer d'utiliser une nouvelle version.
Ici 01.16.03 existe déjà, donc il échouait et quand j'ai essayé avec la version 01.16.04, le travail a réussi.
la source
J'ai eu la même erreur en essayant de déployer sur un référentiel Artifactory, ce qui suit a résolu le problème pour moi:
Accédez au paramètre du référentiel dans artifactory et activez le point " Forcer l'authentification Maven " et l'erreur 401 "Non autorisé" devrait avoir disparu. (Bien sûr, vous devez fournir vos informations d'identification dans le fichier settings.xml au mieux en texte brut pour éviter les problèmes )
Je suppose que par défaut, même en fournissant les bonnes informations d'identification dans le fichier settings.xml, elles ne sont pas utilisées et vous obtenez l'exception Non autorisé.
la source