Dlaczego w Maven pojawia się błąd „401 nieautoryzowany”?
Oto błąd, który otrzymuję podczas dzwonienia mvn deploy
(pełne dzienniki na dole):
[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]
Zgodnie z tą stroną wsparcia typu sonaty :
„Jeśli otrzymujesz kod 401, dzieje się tak, ponieważ maven wysyła nieprawidłowe dane logowania lub w ogóle ich nie ma”.
Poniżej znajdują się kroki, które wykonałem, poniżej moje pełne pliki settings.xml
i pom.xml
pliki, a poniżej pełne dzienniki z mvn deploy
i mvn deploy -e
.
Wszelkie pomysły będą mile widziane. Po prostu uderzam ściana za ścianą z Mavenem.
Postępowałem zgodnie z listą kontrolną sonatype, gdy otrzymałem błąd 401:
Pozycja 1 listy kontrolnej . Upewnij się, że nazwa użytkownika i hasło są poprawne, logując się do interfejsu użytkownika Nexusa. Jeśli curl jest zainstalowany na twoim komputerze, możesz spróbować wdrożyć artefakt za pomocą ...
- Udało mi się zalogować i wylogować ze strony sonatype.org, używając user / pass in
settings.xml
. - I próbował użyć
curl
ręcznie rozmieścić artefakt, z poleceniem
[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
ale otrzymałem ten błąd:
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.
Uruchomiłem go ponownie z -k
opcją i tym razem dostałem tylko to:
Couldn't read data from file "pom.xml", this makes an empty POST.
Nigdy wcześniej nie używałem curl, więc nie wiem, co zrobić z tymi informacjami.
Pozycja 2 listy kontrolnej . Jeśli nie ma wyjścia błędu, upewnij się, że uprawnienia użytkownika są poprawnie skonfigurowane na serwerze. Pamiętaj, aby porzucić właśnie utworzone repozytorium.
Nie wiem, co oznacza „kropla”. Uważam, że moje uprawnienia są poprawnie zainstalowane, ponieważ otrzymałem wiadomość od sonatype:
- Konfiguracja została przygotowana, teraz możesz:
- Wdrażaj artefakty migawek w repozytorium https://oss.sonatype.org/content/repositories/snapshots
- Wdrażanie artefaktów wydania w repozytorium pomostowym https://oss.sonatype.org/service/local/staging/deploy/maven2
- Promuj przemieszczane artefakty do repozytorium „Wydania”
- Pobierz migawki i artefakty wydania z grupy https://oss.sonatype.org/content/groups/public
- Pobierz migawkę, wydanie i artefakty etapowe z grupy przejściowej https://oss.sonatype.org/content/groups/staging
a ja już z powodzeniem umieścić te elementy na serwer za pośrednictwem mvn deploy
w ciągu ostatnich paru dni.
Ustawienia projektu:
Pozycja 3 listy kontrolnej . Upewnij się, że skonfigurowałeś serwer
settings.xml
i że identyfikator serwera jest identyczny z identyfikatorem repozytorium dystrybucji w pom.xml.
- W
settings.xml
, ustawienia / serwery / serwer / id są równeossrh
- W
pom.xml
DistributionManagement / snapshotRepository / id równa sięossrh
(pełne pliki na dole)
Pozycja listy kontrolnej 4 . Upewnij się, że plik settings.xml znajduje się we właściwym miejscu (zwykle jest to _ ~ / .m2 / settings.xml). Możesz to sprawdzić, uruchamiając mvn help: efektywne-ustawienia.
Zgodnie z odniesieniem do ustawień Mavena plik settings.xml musi znajdować się w jednej z dwóch lokalizacji:
- Instalacja Mavena:
$M2_HOME/conf/settings.xml
- Instalacja użytkownika:
${user.home}/.m2/settings.xml
Oto moja konfiguracja:
settings.xml
:C:\applications\programming\apache-maven-3.2.2\conf\settings.xml
M2_HOME
jestC:\applications\programming\apache-maven-3.2.2
Wyjście dla 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] ------------------------------------------------------------------------
Pozycja 5 listy kontrolnej . Jeśli serwer używa https, ale adres URL w Twoim POM to http, możesz również otrzymać 401.
Nie rozumiem, do którego adresu URL się odnosi.
Pozycja 6 listy kontrolnej . Użyj najnowszej wersji Maven, ponieważ istnieje znany problem dotyczący 401: MNG-4469
Używam najnowszej wersji:
[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"
------------------
Pełne settings.xml
i pom.xml
pliki
(Pełne dzienniki dla mvn deploy
i mvn deploy -e
poniżej)
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>
------------------
Pełne dzienniki dla mvn deploy
imvn deploy -e
mvn deploy
wynik:
[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
(Sekcja niepowodzeń :)
[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
wynik:
[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
(Sekcja niepowodzeń :)
[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
Odpowiedzi:
Miałem podobne błędy podczas próby umieszczenia artefaktu Gradle w repozytorium Nexus Sonatype. Jeśli podasz nieprawidłowe dane uwierzytelniające (hasło itp.), Pojawi się błąd 401 Nieautoryzowany. Pojawia się również błąd (i poza moją głową jest też 401), jeśli spróbujesz opublikować coś w repozytorium wydań, a ta wersja już istnieje w repozytorium. Więc może się okazać, że publikując z wiersza poleceń, to działa, ale kiedy robisz to ze skryptu, nie powiedzie się (ponieważ nie istniał w repozytorium za pierwszym razem). Opublikuj przy użyciu innego numeru wersji lub usuń stary artefakt z serwera i opublikuj go ponownie.
Repozytorium SNAPSHOTS (w przeciwieństwie do repozytorium wydań) umożliwia nadpisanie wersji o podobnej numeracji, ale numer wersji powinien mieć na końcu „-SNAPSHOT”.
źródło
0.1.2-SNAPSHOT
, że to , co już zostało utworzone, koliduje z moją nową0.1.2
wersją, jak sugerujesz. Zmieniając go0.1.0
( „wcześniej”), albo0.1.2a
, albo0.1.3
( „później”) skutkuje błędem I został zajmującej się przed tym jednym:[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]
. Nie sądziłem, że wprowadziłem jakieś zmiany, ale oczywiście wyeliminowanie tego-SNAPSHOT
z wersji było złą rzeczą.Jedną z przyczyn tego błędu jest brak określenia repositoryId lub niepoprawne określenie go. Jak już wspomniano, powinno być to samo, co w sekcji settings.xml. Kilka wskazówek ... Uruchom mvn z opcjami -e -X i sprawdź wyjście debugowania. Poinformuje Cię, którego repozytoriumId używa:
W tym przypadku używa domyślnej wartości „repozytorium zdalne”, co oznacza, że coś poszło nie tak.
Najwyraźniej podałem -DrepositoryID (identyfikator notatki zapisany wielkimi literami) zamiast -DrepositoryId.
źródło
settings.xml
, ponownie uczyniłem oba identyfikatory repozytoriów identycznymi (migawka i wydanie), ale potem dodałem kolejną deklarację z unikalnym identyfikatorem dla tego samego repozytorium wydania (w zasadzie alias). Pozwoliło to projektom, które wymagały unikalnej nazwy, aby się do niej odwoływać, oraz starszym projektom, które używały identycznych nazw, aby się do nich odwoływać. Nasz master-pom odnosi się do tego samego.po prostu zmień w settings.xml te, jak mówi aliteralmind:
prawdopodobnie musisz uzyskać nazwę użytkownika / hasło z sonatype dot com.
źródło
Umieściłem niezaszyfrowane hasło w pliku settings.xml.
Przetestowałem połączenie z zawijaniem
i wyskoczył mi błąd:
Odzyskałem zaszyfrowane hasło, klikając mój profil wytwórni i odblokowując go.
źródło
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
zamiast tegoMiał też 401 z Nexusa. Po wypróbowaniu wszystkich powyższych sugestii i nie tylko bez powodzenia, w końcu stwierdziłem, że to ustawienie Jenkinsa było błędne.
W konfiguracji Jenkinsa dla projektu, który kończy się niepowodzeniem, mamy sekcję w akcjach „Post Build” zatytułowaną „Deploy Artifacts to Maven Repository”. Zawiera pole „Repository ID”, które zostało ustawione na nieprawidłową wartość. Musi być taki sam jak identyfikator repozytorium w settings.xml, aby Jenkins mógł odczytać pola użytkownika i hasła:
źródło
Jak stwierdzono w odpowiedzi @ Johna, fakt, że już istnieje
0.1.2-SNAPSHOT
, zakłócił moją nową wersję nie-SNAPSHOT0.1.2
. Ponieważ401 Unauthorized
błąd jest mglisty i nieprzydatny - i zwykle wiąże się z problemami z użytkownikiem / przebiegiem - nie jest zaskoczeniem, że nie mogłem tego samodzielnie rozwiązać.Zmiana wersji na
0.1.3
powoduje powrót do mojego pierwotnego błędu:[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].
Osoba wspierająca sonatypów również zaleciła, abym usunął
<parent>
blok z mojego POM (jest tam tylko dlatego, że jest w tym z ez-vcard , od czego zacząłem) i zamienić<distributionManagement>
blok naPo zrobieniu tego, bieganie
mvn deploy
po raz pierwszy przesłało jeden z moich słoików !!!Wynik:
(Część sukcesu :)
Oto pełna zaktualizowana POM:
To jeden duży problem Mavena z drogi. Jeszcze tylko 627.
źródło
Niektórzy użytkownicy mogli przez pomyłkę wprowadzić adres e-mail zamiast nazwy użytkownika. Może się to zdarzyć nieświadomie, gdy nazwa w adresie e-mail jest taka sama jak nazwa użytkownika.
źródło
To jest oficjalne wyjaśnienie zespołu nexus sonatype około 401 - nieautoryzowane
Aby uzyskać więcej informacji, zapoznaj się z tematem Rozwiązywanie problemów z awariami wdrażania artefaktów .
źródło
w moim przypadku po zaszyfrowaniu hasła , zapomniałem wstawić
settings-security.xml
do ~ / .m2。źródło
Mieliśmy ten problem całkiem niedawno i okazało się, że był on związany z wersją Mavena, której używaliśmy. Używaliśmy 3.1.0 i nie mogliśmy przesłać do Nexusa, ciągle otrzymywaliśmy 401, powróciliśmy do 3.0.3 i problem zniknął.
Najłatwiejszym sposobem potwierdzenia jest przejrzenie wersji maven i uruchomienie „mvn deploy” w projekcie.
Więcej szczegółów można znaleźć tutaj: https://issues.apache.org/jira/browse/WAGON-421
źródło
Miałem do czynienia z tą działającą wersją Artifactory 5.8.4. Funkcja „Set Me Up” wygeneruje plik settings.xml w następujący sposób:
Po użyciu przełącznika mvn deploy -e -X zauważyłem, że poświadczenia nie były dokładne. Usunąłem $ {security.getCurrentUsername ()} i zastąpiłem go moją nazwą użytkownika i usunąłem $ {security.getEscapedEncryptedPassword ()! ""} I po prostu wstawiłem moje zaszyfrowane hasło, które działało dla mnie:
Mam nadzieję że to pomoże!
źródło
W Nexusie w wersji 3.13.0-01,
id
w sekcji POMdistributionManagement/repository
MUSI być zgodne zservers/server/id
imirrors/mirror/id
w twoim maven settings.xml. Właśnie wymieniłem Nexusa w wersji 3.10.4 (na 3.13.0-01) i nie było potrzeby dopasowywania go do 3.10.4.źródło
Miałem podobny problem. Musiałem przypiąć wtyczkę Maven do konkretnej wersji w pom.xml:
Ta wersja zepsuła moje kompilacje:
źródło
Miałem ten sam błąd. Spróbowałem i sprawdziłem wszystko ponownie. Byłem tak skupiony na śladzie stosu, że nie przeczytałem ostatnich wierszy kompilacji przed podsumowaniem reaktora i śladem stosu:
To był klucz: „Nie można znaleźć metadanych” . Chociaż twierdził, że był to błąd uwierzytelniania, w rzeczywistości został naprawiony, wykonując „odbudowę metadanych” w repozytorium Nexusa.
Mam nadzieję, że to pomoże.
źródło
Ponadto, po zaktualizowaniu identyfikatorów repozytoriów, upewnij się, że działasz poprawnie, ponieważ
release:prepare
przejdziesz od miejsca, w którym zostało przerwane. Więc możesz zrobić:mvn release:prepare -Dresume=false
lubmvn release:clean release:prepare
źródło
W oknach są dwa ustawienia.xml.
%MAVEN_HOME%\conf\
%userprofile%\.m2\
Jeśli
%userprofile%\.m2\setting.xml
zacznie obowiązywać, maven nie będzie mieć dostępu%MAVEN_HOME%\conf\setting.xml
.źródło
Może to być spowodowane niewłaściwym wersji, można dokładnie sprawdzić wersję rodziców i wersję lib jest , aby upewnić się, że są prawidłowe i nie powielane, jakie miałem ten sam problem
źródło
Wystąpił
401
błąd podczas użyciamvn gpg:sign-and-deploy-file
polecenia, a powodem było to, że<MVN_HOME>/conf/settings.xml
nie zawiera<server>
tagu, który można uzyskać za pośrednictwem,https://oss.sonatype.org/#profile;User%20Token
gdzie<id>
jest to samo co-DrepositoryId
Aby uzyskać
<MVN_HOME>
przebiegmvn --version
źródło
W moim przypadku usunąłem poświadczenia logowania do serwera centralnego z moich ustawień.
Nie wiem, dlaczego to zrobiłem, ale jest to całkowicie błędne, ponieważ do centralnego repozytorium Maven można uzyskać dostęp anonimowo. Zobacz mój wynik debugowania, który doprowadził do identyfikacji i rozwiązania błędu.
źródło
Rozwiązanie:
W takim przypadku musisz zmienić wersję w pliku pom i spróbować użyć nowej wersji.
Tutaj 01.16.03 już istnieje, więc nie powiodło się, a kiedy próbowałem z wersją 01.16.04, zadanie powiodło się.
źródło
Wystąpił ten sam błąd podczas próby wdrożenia do repozytorium Artifactory, następujące rozwiązanie rozwiązało problem:
Przejdź do ustawień repozytorium w artefactory i włącz punkt „ Force Maven Authentication ”, a błąd 401 „Unauthorized” powinien zniknąć. (Oczywiście musisz podać swoje poświadczenia w pliku settings.xml najlepiej w postaci zwykłego tekstu, aby zapobiec problemom )
Domyślam się, że domyślnie, nawet jeśli podasz odpowiednie poświadczenia w pliku settings.xml, nie zostaną one użyte i otrzymasz wyjątek Unauthorized.
źródło