it-roy-ru.com

Почему я получаю ошибку "401 Несанкционированный" в Maven?

Почему я получаю ошибку «401 Несанкционированный» в Maven?

Вот ошибка, которую я получаю при вызове mvn deploy (полные журналы внизу):

[INFO] BUILD FAILURE
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

В соответствии с этим страница поддержки sonatype :

«Если вы получаете 401, то это потому, что maven отправляет неверные учетные данные для входа или вообще не использует».

Ниже приведены шаги, которые я предпринял, ниже - мои полные файлы settings.xml и pom.xml, а ниже - полные журналы из mvn deploy и mvn deploy -e.

Любые идеи были бы хорошы. Я просто ударил стену за стеной с Мэйвен.


Я следовал контрольный список sonatype при получении ошибки 401:

Контрольный список элемент 1. Убедитесь, что ваше имя пользователя/пароль верны, войдя в интерфейс Nexus. Если на вашем компьютере установлен curl, вы можете попробовать развернуть артефакт с помощью ...

  • Я успешно вошел и вышел с сайта sonatype.org, используя user/pass в settings.xml.
  • Я попытался использовать curl для ручного развертывания артефакта с помощью команды

[C:\]curl -u MY_SONATYPE_DOT_COM_USERNAME:MY_SONATYPE_DOT_COM_PASSWORD https://oss.sonatype.org/content/repositories/snapshots/com/github/aliteralmind/xbnjava/0.1.2-SNAPSHOT/xbnjava-0.1.2-20140716.224928-1.pom --request PUT --data @pom.xml

но получил эту ошибку:

Warning: Couldn't read data from file "pom.xml", this makes an empty POST.
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

Я запустил его снова с параметром -k, и на этот раз получил только это:

Couldn't read data from file "pom.xml", this makes an empty POST.

Я никогда раньше не использовал curl, поэтому я не знаю, что делать с этой информацией.

Контрольный список, пункт 2. Если не выводится сообщение об ошибке, убедитесь, что ваши права пользователя правильно настроены на сервере. Обязательно удалите только что созданный репозиторий.

Я не знаю, что означает «падение». Я считаю, что мои привилегии установлены правильно, так как я получил это сообщение от sonatype:

и я имею успешно поместил эти элементы на сервер через mvn deploy в последние пару дней.

Настройки проекта:

project settings

Контрольный список, пункт 3. Убедитесь, что вы настроили сервер в settings.xml и что идентификатор сервера идентичен идентификатору репозитория распределения в pom.xml.

  • В settings.xml параметры/серверы/сервер/id равны ossrh
  • В pom.xml distributionManagement/snapshotRepository/id равно ossrh

(полные файлы внизу)

Контрольный список, пункт 4. Убедитесь, что ваш файл settings.xml находится в правильном месте (обычно это _ ~/.m2/settings.xml). Вы можете проверить это, запустив mvn help :ffective-settings.

В соответствии с ссылкой на настройки Maven , settings.xml должен находиться в одном из двух мест:

  • Установка Maven: $M2_HOME/conf/settings.xml
  • Установка пользователя: ${user.home}/.m2/settings.xml

Вот мои настройки:

  • settings.xml: C:\applications\programming\Apache-maven-3.2.2\conf\settings.xml
  • M2_HOME - это C:\applications\programming\Apache-maven-3.2.2

Выход для mvn help:effective-settings:

[C:\applications\utilities\curl]
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-help-plugin:2.2:effective-settings (default-cli) @ standalone-pom ---
[INFO]
Effective user-specific configuration settings:

<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Generated by Maven Help Plugin on 2014-07-18T12:48:19                  -->
<!-- See: http://maven.Apache.org/plugins/maven-help-plugin/                -->
<!--                                                                        -->
<!-- ====================================================================== -->

<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Effective Settings for 'jeffy' on 'Kermit-the-frog'                    -->
<!--                                                                        -->
<!-- ====================================================================== -->

<settings xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
hemaLocation="http://maven.Apache.org/SETTINGS/1.1.0 http://maven.Apache.org/xsd/settings-1.1.0.xsd">
  <localRepository xmlns="http://maven.Apache.org/SETTINGS/1.1.0">C:\Users\jeffy\.m2\repository</localRepository
>
  <servers xmlns="http://maven.Apache.org/SETTINGS/1.1.0">
    <server>
      <username>MY_SONATYPE_DOT_COM_USERNAME</username>
      <password>***</password>
      <id>ossrh</id>
    </server>
  </servers>
  <pluginGroups xmlns="http://maven.Apache.org/SETTINGS/1.1.0">
    <pluginGroup>org.Apache.maven.plugins</pluginGroup>
    <pluginGroup>org.codehaus.mojo</pluginGroup>
  </pluginGroups>
</settings>

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.310 s
[INFO] Finished at: 2014-07-18T12:48:19-04:00
[INFO] Final Memory: 7M/17M
[INFO] ------------------------------------------------------------------------

Контрольный список, пункт 5. Если сервер использует https, но URL-адрес в вашем POM - http, вы также можете получить 401.

Я не понимаю, к какому URL это относится.

Контрольный список, пункт 6. Используйте последнюю версию Maven, поскольку существует известная проблема, касающаяся 401: MNG-4469

Я использую последнюю версию:

[C:\]mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T09:51:42-04:00)
Maven home: C:\applications\programming\Apache-maven-3.2.2
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: C:\applications\programming\jdk_7_51\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", Arch: "x86", family: "windows"

------------------

Полные settings.xml и pom.xml файлы

(Полные журналы для mvn deploy и mvn deploy -e ниже)

settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.Apache.org/SETTINGS/1.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.0.0 http://maven.Apache.org/xsd/settings-1.0.0.xsd">
   <servers>
     <server>
       <id>ossrh</id>
       <username>MY_SONATYPE_DOT_COM_USERNAME</username>
       <password>MY_SONATYPE_DOT_COM_PASSWORD</password>
     </server>
   </servers>

   <pluginGroups></pluginGroups>
   <proxies></proxies>
   <mirrors></mirrors>
   <profiles></profiles>
</settings>

pom.xml:

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.github.aliteralmind</groupId>
   <artifactId>xbnjava</artifactId>
   <packaging>pom</packaging>
   <version>0.1.2</version>
   <name>XBN-Java</name>
   <url>https://github.com/aliteralmind/xbnjava</url>
   <inceptionYear>2014</inceptionYear>
   <organization>
      <name>Jeff Epstein</name>
   </organization>
   <description>XBN-Java is a collection of generically-useful backend (server side, non-GUI) programming utilities, featuring RegexReplacer and FilteredLineIterator. XBN-Java is the foundation of Codelet (http://codelet.aliteralmind.com).</description>

   <parent>
      <groupId>org.sonatype.oss</groupId>
      <artifactId>oss-parent</artifactId>
      <version>7</version>
   </parent>

   <licenses>
      <license>
         <name>Lesser General Public License (LGPL) version 3.0</name>
         <url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
      </license>
      <license>
         <name>Apache Software License (ASL) version 2.0</name>
         <url>http://www.Apache.org/licenses/LICENSE-2.0.txt</url>
      </license>
   </licenses>

   <developers>
      <developer>
         <name>Jeff Epstein</name>
         <email>[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>

------------------

Полные журналы для mvn deploy и mvn deploy -e

mvn deploy вывод:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building XBN-Java 0.1.2
[INFO] ------------------------------------------------------------------------
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ xbnjava ---
[INFO] --- build-helper-maven-plugin:1.8:attach-artifact (attach-artifacts) @ xbnjava ---
[INFO] --- maven-install-plugin:2.4:install (default-install) @ xbnjava ---
[INFO] Installing R:\jeffy\programming\sandbox\z__for_git_commit_only\xbnjava\pom.xml to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.pom
[INFO] Installing R:\jeffy\programming\build\xbnjava-0.1.2\download\xbnjava-0.1.2-all.jar to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.jar
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ xbnjava ---
Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom
2/6 KB
4/6 KB
6/6 KB

(Отказ раздела :)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.204 s
[INFO] Finished at: 2014-07-18T11:25:17-04:00
[INFO] Final Memory: 7M/17M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/MojoExecutionException

mvn deploy -e вывод:

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building XBN-Java 0.1.2
[INFO] ------------------------------------------------------------------------
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ xbnjava ---
[INFO] --- build-helper-maven-plugin:1.8:attach-artifact (attach-artifacts) @ xbnjava ---
[INFO] --- maven-install-plugin:2.4:install (default-install) @ xbnjava ---
[INFO] Installing R:\jeffy\programming\sandbox\z__for_git_commit_only\xbnjava\pom.xml to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.pom
[INFO] Installing R:\jeffy\programming\build\xbnjava-0.1.2\download\xbnjava-0.1.2-all.jar to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.2\xbnjava-0.1.2.jar
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ xbnjava ---
Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom
2/6 KB
4/6 KB
6/6 KB

(Отказ раздела :)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.492 s
[INFO] Finished at: 2014-07-18T11:25:37-04:00
[INFO] Final Memory: 7M/17M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
org.Apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.Apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xbnjava: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:216)
   at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:153)
   at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:145)
   at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:116)
   at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:80)
   at org.Apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.Java:51)
   at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.Java:120)
   at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:347)
   at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:154)
   at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:584)
   at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:213)
   at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:157)
   at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
   at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
   at Java.lang.reflect.Method.invoke(Method.Java:606)
   at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:289)
   at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:229)
   at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:415)
   at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:356)
Caused by: org.Apache.maven.plugin.MojoExecutionException: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.Apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.Java:193)
   at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:132)
   at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:208)
   ... 19 more
Caused by: org.Apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.Apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.Java:143)
   at org.Apache.maven.plugin.deploy.AbstractDeployMojo.deploy(AbstractDeployMojo.Java:167)
   at org.Apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.Java:149)
   ... 21 more
Caused by: org.Eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.Eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.Java:337)
   at org.Eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.Java:268)
   at org.Eclipse.aether.internal.impl.DefaultRepositorySystem.deploy(DefaultRepositorySystem.Java:413)
   at org.Apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.Java:139)
   ... 23 more
Caused by: org.Eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.github.aliteralmind:xbnjava:pom:0.1.2 from/to sonatype-nexus-staging (https://oss.sonatype.org/service/local/staging/deploy/maven2/): Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.Eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.Java:1016)
   at org.Eclipse.aether.connector.wagon.WagonRepositoryConnector$6.wrap(WagonRepositoryConnector.Java:1004)
   at org.Eclipse.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.Java:895)
   at org.Eclipse.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.Java:522)
   at org.Eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.Java:331)
   ... 26 more
Caused by: org.Apache.maven.wagon.TransferFailedException: Failed to transfer file: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.2/xbnjava-0.1.2.pom. Return code is: 401, ReasonPhrase: Unauthorized.
   at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.Java:573)
   at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.Java:493)
   at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.Java:474)
   at org.Apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.Java:454)
   at org.Eclipse.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.Java:871)
   ... 28 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/MojoExecutionException
94
aliteralmind

У меня были похожие ошибки при попытке развернуть артефакт Gradle в хранилище Nexus Sonatype. Вы получите 401 несанкционированную ошибку, если введете неправильные учетные данные (пароль и т.д.). Вы также получаете сообщение об ошибке (и, кроме всего прочего, это тоже 401), если вы пытаетесь опубликовать что-либо в репозитории релизов и эта версия уже существует в репозитории. Таким образом, вы можете обнаружить, что при публикации из командной строки это работает, но затем, когда вы делаете это из скрипта, это дает сбой (потому что он не существовал в репозитории в первый раз). Либо опубликуйте, используя другой номер версии, либо удалите старый артефакт на сервере и повторите публикацию.

Репозиторий SNAPSHOTS (в отличие от репозитория релизов) позволяет перезаписывать версию с аналогичной нумерацией, но номер вашей версии должен иметь в конце «-SNAPSHOT».

39
John

Одной из причин этой ошибки является то, что repositoryId не указан или указан неправильно. Как уже упоминалось, оно должно быть таким же, как в разделе settings.xml . Несколько советов ... Запустите mvn с параметрами -e -X и проверьте выходные данные отладки. Он скажет вам, какой репозиторий он использует:

[DEBUG]   (f) offline = false
[DEBUG]   (f) packaging = exe
[DEBUG]   (f) pomFile = c:\temp\build-test\pom.xml
[DEBUG]   (f) project = MavenProject: org.Apache.maven:standalone-pom:1 @ 
[DEBUG]   (f) repositoryId = remote-repository
[DEBUG]   (f) repositoryLayout = default
[DEBUG]   (f) retryFailedDeploymentCount = 1
[DEBUG]   (f) uniqueVersion = true
[DEBUG]   (f) updateReleaseInfo = false
[DEBUG]   (f) url = https://nexus.url.blah.com/...
[DEBUG]   (f) version = 13.1
[DEBUG] -- end configuration --

В этом случае используется значение по умолчанию «remote-repository», что означает, что что-то пошло не так.

По-видимому, я указал -DrepositoryID (идентификатор заметки с большой буквы) вместо -DrepositoryId.

9
Jay Random

Я поместил незашифрованный пароль в settings.xml.

Я проверил звонок с помощью curl

curl -u username:password http://url/artifactory/libs-snapshot-local/com/myproject/api/1.0-SNAPSHOT/api-1.0-20160128.114425-1.jar --request PUT --data target/api-1.0-SNAPSHOT.jar 

и я получил ошибку:

{
  "errors" : [ {
    "status" : 401,
    "message" : "Artifactory configured to accept only encrypted passwords but received a clear text password."
  } ]
}

Я восстановил зашифрованный пароль, щелкнув по профилю артефакта и разблокировав его.

7
Alberto M

просто измените в settings.xml это, как говорит aliteralmind: 

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

вам, вероятно, нужно получить имя пользователя/пароль от sonatype dot com. 

6
Moe Singh

Также было 401 от Nexus. Перепробовав все вышеизложенные предложения и даже больше, но безуспешно, я обнаружил, что это была ошибка настройки Дженкинса.

В конфигурации Jenkins для неудачного проекта у нас есть раздел в действиях «Посткомпоновка», озаглавленный «Развертывание артефактов в репозиторий Maven». У этого есть поле 'Идентификатор хранилища', которое было установлено в неправильное значение. Он должен совпадать с идентификатором хранилища в settings.xml, чтобы Jenkins мог прочитать поля пользователя и пароля:

 Jenkins Project Configuration

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

Некоторые пользователи могли ввести адрес электронной почты вместо имени пользователя по ошибке. Это может произойти неосознанно, когда имя в адресе электронной почты совпадает с именем пользователя.

2
rwitzel

Это официальное объяснение от команды Sonatype Nexus о 401 - Несанкционированный

Я рекомендую вам прочитать Устранение неполадок с ошибками развертывания артефактов для получения дополнительной информации.

Код 401 - Несанкционированный

Либо учетные данные не были отправлены с запросом, либо логин неверные учетные данные были отправлены. Проверка системного канала «авторизация .__ и аутентификация» в пользовательском интерфейсе Nexus может помочь сузить это вниз. Если учетные данные были отправлены, в ленте будет запись.

Если учетные данные не были отправлены, это, вероятно, связано с несовпадением идентификатор в разделе управления распределением вашего pom и ваш Раздел сервера settings.xml, в котором хранятся учетные данные для входа.

2
Rumesh Bandara

в моем случае после шифрования пароля , я забыл поместить settings-security.xml в ~/.m2 forgot

1
isghost

Как указано в ответе @ John, тот факт, что 0.1.2-SNAPSHOT уже существует, помешал моей новой не-SNAPSHOT-версии 0.1.2. Поскольку ошибка 401 Unauthorized является туманной и бесполезной - и обычно связана с проблемами пользователей/проходов - неудивительно, что я не смог понять это самостоятельно.

Изменение версии на 0.1.3 возвращает меня к моей первоначальной ошибке:

[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-install-plugin:2.4:install (default-install) on project xbnjava: Failed to install artifact com.github.aliteralmind:xbnjava:jar:0.1.3: R:\jeffy\programming\build\xbnjava-0.1.3\download\xbnjava-0.1.3-all.jar (The system cannot find the path specified) -> [Help 1].

Специалист по поддержке sonatype также порекомендовал мне удалить блок <parent> из моего POM (он есть только потому, что он находится в тот из ez-vcard , с которого я начал) и заменить мой блок <distributionManagement> на

<distributionManagement>
  <snapshotRepository>
    <id>ossrh</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
  </snapshotRepository>
  <repository>
    <id>ossrh</id>
    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
  </repository>
</distributionManagement>
and then make sure that lines up with what's in your settings.xml:
<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>your-jira-id</username>
      <password>your-jira-pwd</password>
    </server>
  </servers>
</settings>

После этого, mvn deploy впервые загрузил один из моих jar-файлов !!!

Результат:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building XBN-Java 0.1.3
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- build-helper-maven-plugin:1.8:attach-artifact (attach-artifacts) @ xbnjava ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ xbnjava ---
[INFO] Installing R:\jeffy\programming\sandbox\z__for_git_commit_only\xbnjava\pom.xml to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.3\xbnjava-0.1.3.pom
[INFO] Installing R:\jeffy\programming\build\xbnjava-0.1.3\download\xbnjava-0.1.3.jar to C:\Users\jeffy\.m2\repository\com\github\aliteralmind\xbnjava\0.1.3\xbnjava-0.1.3.jar
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ xbnjava ---
Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.pom
2/6 KB
4/6 KB
6/6 KB

Uploaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.pom (6 KB at 4.6 KB/sec)
Downloading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml
310/310 B

Downloaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml (310 B at 1.6 KB/sec)
Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml
310/310 B

Uploaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/maven-metadata.xml (310 B at 1.4 KB/sec)
Uploading: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.jar
2/630 KB
4/630 KB
6/630 KB
8/630 KB
10/630 KB
12/630 KB
14/630 KB
...
618/630 KB
620/630 KB
622/630 KB
624/630 KB
626/630 KB
628/630 KB
630/630 KB

(Успешная часть :)

Uploaded: https://oss.sonatype.org/service/local/staging/deploy/maven2/com/github/aliteralmind/xbnjava/0.1.3/xbnjava-0.1.3.jar (630 KB at 474.7 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.632 s
[INFO] Finished at: 2014-07-18T15:09:25-04:00
[INFO] Final Memory: 6M/19M
[INFO] ------------------------------------------------------------------------

Вот полный обновленный POM:

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.github.aliteralmind</groupId>
  <artifactId>xbnjava</artifactId>
  <packaging>pom</packaging>
  <version>0.1.3</version>
  <name>XBN-Java</name>
  <url>https://github.com/aliteralmind/xbnjava</url>
  <inceptionYear>2014</inceptionYear>
  <organization>
     <name>Jeff Epstein</name>
  </organization>
  <description>XBN-Java is a collection of generically-useful backend (server side, non-GUI) programming utilities, featuring RegexReplacer and FilteredLineIterator. XBN-Java is the foundation of Codelet (http://codelet.aliteralmind.com).</description>

  <licenses>
     <license>
        <name>Lesser General Public License (LGPL) version 3.0</name>
        <url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
     </license>
     <license>
        <name>Apache Software License (ASL) version 2.0</name>
        <url>http://www.Apache.org/licenses/LICENSE-2.0.txt</url>
     </license>
  </licenses>

  <developers>
     <developer>
        <name>Jeff Epstein</name>
        <email>[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>
    <repository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </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>
  <build>
     <plugins>
        <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>build-helper-maven-plugin</artifactId>
           <version>1.8</version>
           <executions>
              <execution>
                 <id>attach-artifacts</id>
                 <phase>package</phase>
                 <goals>
                    <goal>attach-artifact</goal>
                 </goals>
                 <configuration>
                    <artifacts>
                       <artifact>
                          <file>${jarprefix}.jar</file>
                          <type>jar</type>
                       </artifact>
                    </artifacts>
                 </configuration>
              </execution>
           </executions>
        </plugin>
     </plugins>
  </build>

  <profiles>
     <!--
     This profile will sign the JAR file, sources file, and javadocs file using the GPG key on the local machine.
     See: https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven
     -->
     <profile>
        <id>release-sign-artifacts</id>
        <activation>
           <property>
              <name>release</name>
              <value>true</value>
           </property>
        </activation>
     </profile>
  </profiles>
</project>

Это одна большая проблема Maven. Осталось всего 627.

1
aliteralmind

У нас была эта проблема совсем недавно, и мы узнали, что это связано с версией Maven, которую мы использовали. Мы использовали 3.1.0 и не могли загрузить на Nexus, мы продолжали получать 401, мы вернулись к 3.0.3, и проблема ушла.

Самый простой способ подтвердить это - работать с версиями maven и запускать «mvn deploy» в вашем проекте.

Более подробную информацию можно найти здесь: https://issues.Apache.org/jira/browse/WAGON-421

1
Grant Currey

Это может быть вызвано неправильной версией, вы можете дважды проверить версию родителя и версию lib , чтобы убедиться, что они правильные и не дублируются, у меня возникла та же проблема

0
Hieu Vo

В Windows есть два файла setting.xml. 

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

Если %userprofile%\.m2\setting.xml вступит в силу, maven не получит доступ к %MAVEN_HOME%\conf\setting.xml

0
joseph

Кроме того, после того, как вы обновили свои идентификаторы репозитория, убедитесь, что вы работаете чистым, так как release:prepare подберет там, где остановился. Так что вы можете сделать: 

mvn release:prepare -Dresume=false или 

mvn release:clean release:prepare

0
Todor Kolev

У меня была такая же ошибка. Я попробовал и перепроверил все. Я был так сосредоточен на трассировке стека, что не прочитал последние строки сборки перед сводкой Reactor и трассировкой стека: 

[DEBUG] Using connector AetherRepositoryConnector with priority 3.4028235E38 for http://www:8081/nexus/content/repositories/snapshots/
[INFO] Downloading: http://www:8081/nexus/content/repositories/snapshots/com/wdsuite/com.wdsuite.server.product/1.0.0-SNAPSHOT/maven-metadata.xml
[DEBUG] Could not find metadata com.group:artifact.product:version-SNAPSHOT/maven-metadata.xml in nexus (http://www:8081/nexus/content/repositories/snapshots/)
[DEBUG] Writing tracking file /home/me/.m2/repository/com/group/project/version-SNAPSHOT/resolver-status.properties
[INFO] Uploading: http://www:8081/nexus/content/repositories/snapshots/com/...-1.0.0-20141118.124526-1.Zip
[INFO] Uploading: http://www:8081/nexus/content/repositories/snapshots/com/...-1.0.0-20141118.124526-1.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:

Это был ключ: «Не удалось найти метаданные» . Хотя в нем говорилось, что это была ошибка аутентификации, на самом деле это было исправлено с помощью «перестроения метаданных» в хранилище nexus.

Надеюсь, поможет.

0
Betty Sanchez

В Nexus версии 3.13.0-01 id в разделе distributionManagement/repository POM ДОЛЖЕН совпадать с servers/server/id и mirrors/mirror/id в вашем maven settings.xml. Я только заменил Nexus v3.10.4 (на 3.13.0-01), и он не был необходим для соответствия 3.10.4. 

0
bigbadmouse

Была похожая проблема. Пришлось прикрепить плагин развертывания maven к определенной версии в pom.xml:

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
     <version>2.8.2</version>
</plugin>

Эта версия сломала мои сборки:

[INFO] --- maven-deploy-plugin:3.0.0-M1:deploy (default-cli) @ dbl ---
0
loafdog

Я имел дело с этой работающей Artifactory версии 5.8.4. Функция «Set Me Up» создаст файл settings.xml следующим образом:

<servers>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"AP56eMPz8L12T5u4J6rWdqWqyhQ"}</password>
      <id>central</id>
    </server>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"AP56eMPz8L12T5u4J6rWdqWqyhQ"}</password>
      <id>snapshots</id>
    </server>
</servers>

После использования ключа mvn deploy -e -X я заметил, что учетные данные не точны. Я удалил $ {Security.getCurrentUsername ()} и заменил его своим именем пользователя и удалил $ {Security.getEscapedEncryptedPassword (!) ""} и просто поставьте мой зашифрованный пароль, который работал для меня:

<servers>
    <server>
      <username>username</username>
      <password>AP56eMPz8L12T5u4J6rWdqWqyhQ</password>
      <id>central</id>
    </server>
    <server>
      <username>username</username>
      <password>AP56eMPz8L12T5u4J6rWdqWqyhQ</password>
      <id>snapshots</id>
    </server>
</servers>

Надеюсь это поможет!

0
pdibenedetto