Mengapa saya mendapatkan pesan error "401 Unauthorized" di Maven?
Inilah kesalahan yang saya dapatkan saat menelepon mvn deploy
(log lengkap di bagian bawah):
[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]
Menurut halaman dukungan sonatype ini :
"Jika Anda menerima 401, itu karena maven mengirim kredensial login yang salah, atau tidak ada kredensial sama sekali."
Di bawah ini adalah langkah-langkah yang telah saya ambil, di bawah ini adalah file settings.xml
dan lengkap saya pom.xml
, dan di bawah ini adalah log lengkap dari mvn deploy
dan mvn deploy -e
.
Ide apa pun akan dihargai. Saya hanya memukul dinding demi dinding dengan Maven.
Saya mengikuti daftar periksa sonatype ketika menerima kesalahan 401:
Item daftar periksa 1 . Pastikan nama pengguna / sandi Anda benar dengan masuk ke Nexus UI. Jika curl diinstal pada mesin Anda, Anda dapat mencoba menerapkan artefak dengan ...
- Saya berhasil masuk dan keluar dari situs sonatype.org, menggunakan pengguna / masuk
settings.xml
. - Saya mencoba menggunakan
curl
untuk menyebarkan artefak secara manual, dengan perintah
[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
tetapi mendapat kesalahan ini:
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.
Saya menjalankannya lagi dengan -k
opsi, dan kali ini hanya mendapatkan ini:
Couldn't read data from file "pom.xml", this makes an empty POST.
Saya belum pernah menggunakan curl sebelumnya, jadi saya bingung apa yang harus saya lakukan dengan informasi ini.
Item daftar periksa 2 . Jika tidak ada hasil kesalahan, pastikan hak pengguna Anda dikonfigurasi dengan benar di server. Pastikan untuk menjatuhkan repo yang baru saja Anda buat.
Saya tidak tahu apa artinya "jatuh". Saya yakin hak istimewa saya dipasang dengan benar, karena saya menerima pesan ini dari sonatype:
- Konfigurasi telah disiapkan, sekarang Anda dapat:
- Menerapkan artefak snapshot ke dalam repositori https://oss.sonatype.org/content/repositories/snapshots
- Menerapkan artefak rilis ke dalam repositori penahapan https://oss.sonatype.org/service/local/staging/deploy/maven2
- Promosikan artefak bertahap ke dalam 'Rilis' repositori
- Unduh snapshot dan lepaskan artefak dari grup https://oss.sonatype.org/content/groups/public
- Unduh snapshot, rilis, dan artefak bertahap dari grup pementasan https://oss.sonatype.org/content/groups/staging
dan saya telah berhasil menempatkan barang-barang ini ke server melalui mvn deploy
dalam beberapa hari terakhir.
Pengaturan proyek:
Item daftar periksa 3 . Pastikan Anda telah mengkonfigurasi server di
settings.xml
dan bahwa id server identik dengan id repositori distribusi di pom.xml.
- Di
settings.xml
, pengaturan / server / server / id samaossrh
- Di
pom.xml
, distributionManagement / snapshotRepository / id sama denganossrh
(file lengkap ada di bagian bawah)
Item daftar periksa 4 . Pastikan settings.xml Anda berada di tempat yang benar (biasanya _ ~ / .m2 / settings.xml). Anda dapat memeriksanya dengan menjalankan bantuan mvn: pengaturan-efektif.
Menurut referensi pengaturan Maven , settings.xml harus berada di salah satu dari dua lokasi:
- Instalasi Maven:
$M2_HOME/conf/settings.xml
- Pemasangan pengguna:
${user.home}/.m2/settings.xml
Inilah pengaturan saya:
settings.xml
:C:\applications\programming\apache-maven-3.2.2\conf\settings.xml
M2_HOME
adalahC:\applications\programming\apache-maven-3.2.2
Output untuk 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] ------------------------------------------------------------------------
Item daftar periksa 5 . Jika server menggunakan https tetapi URL di POM Anda adalah http, Anda mungkin mendapatkan 401 juga.
Saya tidak mengerti url mana yang dirujuknya.
Item daftar periksa 6 . Gunakan Maven versi terbaru, karena ada masalah yang diketahui terkait 401: MNG-4469
Saya menggunakan versi terbaru:
[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"
------------------
Penuh settings.xml
dan pom.xml
file
(Log lengkap untuk mvn deploy
dan di mvn deploy -e
bawahnya)
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>
------------------
Log lengkap untuk mvn deploy
danmvn deploy -e
mvn deploy
keluaran:
[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
(Kegagalan bagian :)
[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
keluaran:
[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
(Kegagalan bagian :)
[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
Jawaban:
Saya mengalami kesalahan serupa saat mencoba menerapkan artefak Gradle ke repositori Nexus Sonatype. Anda akan mendapatkan error 401 Unauthorized jika Anda memberikan kredensial yang salah (kata sandi, dll.). Anda juga mendapatkan kesalahan (dan di luar kepala saya juga merupakan 401) jika Anda mencoba menerbitkan sesuatu ke repositori rilis dan versi itu sudah ada di repositori. Jadi Anda mungkin menemukan bahwa dengan menerbitkan dari baris perintah itu berhasil, tetapi kemudian ketika Anda melakukannya dari skrip gagal (karena tidak ada di repositori untuk pertama kalinya). Publikasikan menggunakan nomor versi yang berbeda, atau hapus artefak lama di server dan terbitkan ulang.
Repositori SNAPSHOTS (sebagai lawan dari repositori rilis) memungkinkan Anda untuk menimpa versi bernomor serupa, tetapi nomor versi Anda harus memiliki "-SNAPSHOT" di bagian akhir.
sumber
0.1.2-SNAPSHOT
, yang sudah dibuat, mengganggu0.1.2
versi baru saya , seperti yang Anda sarankan. Mengubah ke0.1.0
( "sebelumnya"), atau0.1.2a
, atau0.1.3
( "nanti") hasil dalam kesalahan saya sedang berhadapan dengan sebelum ini:[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]
. Saya tidak berpikir saya membuat perubahan apa pun, tetapi jelas menghilangkan itu-SNAPSHOT
dari versi adalah hal yang buruk.Salah satu alasan untuk kesalahan ini adalah saat repositoryId tidak ditentukan atau ditentukan dengan tidak benar. Seperti yang sudah disebutkan, seharusnya sama seperti di bagian di settings.xml. Beberapa petunjuk ... Jalankan mvn dengan opsi -e -X dan periksa keluaran debug. Ini akan memberi tahu Anda repositoryId mana yang digunakan:
Dalam hal ini, ia menggunakan nilai default "remote-repository", yang berarti ada yang tidak beres.
Rupanya saya telah menetapkan -DrepositoryID (ID catatan dalam huruf kapital) daripada -DrepositoryId.
sumber
settings.xml
, saya membuat kedua ID repo identik lagi (snapshot dan rilis) tetapi kemudian saya menambahkan deklarasi lain dengan ID unik untuk repo rilis yang sama (pada dasarnya alias). Ini memungkinkan proyek yang membutuhkan nama unik untuk merujuk ke sana, dan proyek lama yang menggunakan nama identik untuk merujuknya. Master-pom kami mengacu pada yang identik.cukup ubah di settings.xml ini seperti yang dikatakan aliteralmind:
Anda mungkin perlu mendapatkan nama pengguna / kata sandi dari sonatype dot com.
sumber
Saya telah memasukkan kata sandi yang tidak dienkripsi di settings.xml.
Saya menguji panggilan dengan curl
dan saya mendapat kesalahan:
Saya mengambil kata sandi terenkripsi saya dengan mengklik profil buatan saya dan membukanya.
sumber
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
sebagai gantinyaJuga memiliki 401 dari Nexus. Setelah mencoba semua saran di atas dan lebih banyak lagi tanpa hasil, saya akhirnya menemukan bahwa itu adalah pengaturan Jenkins yang salah.
Dalam konfigurasi Jenkins untuk proyek yang gagal, kami memiliki bagian dalam tindakan 'Pasca Bangun' yang berjudul 'Menerapkan Artefak ke Repositori Maven'. Ini memiliki bidang 'ID Repositori' yang disetel ke nilai yang salah. Ini harus sama dengan ID repositori di settings.xml agar Jenkins dapat membaca kolom pengguna dan sandi:
sumber
Seperti yang dinyatakan dalam jawaban @ John, fakta bahwa sudah ada
0.1.2-SNAPSHOT
, mengganggu versi non-SNAPSHOT saya yang baru0.1.2
. Karena401 Unauthorized
kesalahan tidak jelas dan tidak membantu - dan biasanya terkait dengan masalah pengguna / sandi - tidak mengherankan bahwa saya tidak dapat mengetahuinya sendiri.Mengubah versi untuk
0.1.3
mengembalikan saya ke kesalahan asli saya:[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].
Seorang dukungan sonatype juga merekomendasikan agar saya menghapus
<parent>
blok dari POM saya (itu hanya ada di sana karena ada di salah satu dari ez-vcard , yang saya mulai dengan) dan mengganti<distributionManagement>
blok saya denganSetelah melakukan ini, menjalankan
mvn deploy
benar-benar mengunggah salah satu toples saya untuk pertama kalinya !!!Keluaran:
(Bagian sukses :)
Berikut POM lengkap yang diperbarui:
Itu salah satu masalah besar Maven. Tinggal 627 lagi.
sumber
Beberapa pengguna mungkin salah memasukkan alamat email, bukan nama pengguna. Hal ini mungkin terjadi tanpa disadari jika nama di alamat email sama dengan nama pengguna.
sumber
Berikut penjelasan resmi dari tim sonatype nexus tentang 401 - Tidak sah
Saya menyarankan Anda untuk membaca Pemecahan Masalah Kegagalan Penerapan Artefak untuk informasi lebih lanjut.
sumber
dalam kasus saya, setelah mengenkripsi kata sandi, saya lupa memasukkan
settings-security.xml
~ / .m2。sumber
Kami mengalami masalah ini baru-baru ini dan mengetahui bahwa itu ada hubungannya dengan versi Maven yang kami gunakan. Kami menggunakan 3.1.0 dan tidak dapat mengunggah ke nexus, kami terus mendapatkan 401, kami kembali ke 3.0.3 dan masalahnya hilang.
Cara termudah untuk mengonfirmasi adalah dengan bekerja melalui versi maven dan menjalankan "mvn deploy" pada project Anda.
Detail lebih lanjut dapat ditemukan di sini: https://issues.apache.org/jira/browse/WAGON-421
sumber
Saya berurusan dengan Artifactory versi 5.8.4 ini. Fungsi "Set Me Up" akan menghasilkan settings.xml sebagai berikut:
Setelah menggunakan mvn deploy -e -X switch, saya melihat kredensial tidak akurat. Saya menghapus $ {security.getCurrentUsername ()} dan menggantinya dengan nama pengguna saya dan menghapus $ {security.getEscapedEncryptedPassword ()! ""} Dan hanya memasukkan kata sandi terenkripsi yang berfungsi untuk saya:
Semoga ini membantu!
sumber
Di Nexus versi 3.13.0-01,
id
di bagian POMdistributionManagement/repository
HARUS cocok denganservers/server/id
danmirrors/mirror/id
di pengaturan maven Anda.xml. Saya baru saja mengganti nexus v3.10.4 (dengan 3.13.0-01) dan tidak perlu cocok untuk 3.10.4.sumber
Punya masalah serupa. Harus menyematkan plugin penerapan maven ke versi tertentu di pom.xml:
Versi inilah yang merusak bangunan saya:
sumber
Saya mengalami kesalahan yang sama. Saya mencoba dan memeriksa ulang semuanya. Saya sangat fokus dalam pelacakan Stack sehingga saya tidak membaca baris terakhir dari build sebelum ringkasan Reaktor dan jejak tumpukan:
Ini adalah kuncinya: "Tidak dapat menemukan metadata" . Meskipun dikatakan bahwa itu adalah kesalahan otentikasi, sebenarnya itu diperbaiki melakukan "membangun kembali metadata" di repositori nexus.
Semoga membantu.
sumber
Juga, setelah Anda memperbarui id repositori Anda, pastikan Anda berjalan bersih karena
release:prepare
akan mengambil tempat yang ditinggalkannya. Jadi Anda bisa melakukan:mvn release:prepare -Dresume=false
ataumvn release:clean release:prepare
sumber
Ada dua setting.xml di windows.
%MAVEN_HOME%\conf\
%userprofile%\.m2\
Jika
%userprofile%\.m2\setting.xml
diterapkan, maven tidak akan mengakses%MAVEN_HOME%\conf\setting.xml
.sumber
Ini bisa disebabkan oleh versi yang salah, Anda dapat memeriksa ulang versi induk dan versi lib , untuk memastikan semuanya benar dan tidak diduplikasi, saya mengalami masalah yang sama
sumber
Saya mendapat
401
error saat menggunakanmvn gpg:sign-and-deploy-file
perintah dan alasannya adalah<MVN_HOME>/conf/settings.xml
tidak termasuk<server>
tag yang bisa Anda dapatkan melaluihttps://oss.sonatype.org/#profile;User%20Token
tempat<id>
yang sama-DrepositoryId
Untuk
<MVN_HOME>
larimvn --version
sumber
Dalam kasus saya, saya menghapus kredensial masuk server untuk pusat dari pengaturan saya.
Saya tidak tahu mengapa saya melakukan itu, tetapi itu sepenuhnya salah karena repo maven pusat dapat diakses secara anonim. Lihat keluaran debug saya yang mengarah ke identifikasi dan resolusi kesalahan saya.
sumber
Larutan:
Dalam kasus ini, Anda perlu mengubah versi di file pom, dan mencoba menggunakan versi baru.
Disini 01.16.03 sudah ada jadi gagal dan ketika saya sudah coba dengan versi 01.16.04 pekerjaan berjalan sukses.
sumber
Saya mendapat kesalahan yang sama ketika mencoba menerapkan ke repositori Artifactory, berikut ini memecahkan masalah untuk saya:
Pergi ke pengaturan repositori di artifactory dan aktifkan titik " Force Maven Authentication " dan kesalahan 401 "Unauthorized" seharusnya hilang. (Tentu saja Anda perlu memberikan kredensial Anda di file settings.xml paling baik dalam teks biasa untuk mencegah masalah )
Saya kira secara default, bahkan melalui Anda memberikan kredensial yang benar di file settings.xml, mereka tidak digunakan dan Anda mendapatkan pengecualian Tidak Sah.
sumber