web-dev-qa-db-ja.com

Mavenからネクサスにアーティファクトをデプロイすると、「リターンコードは:401」というエラーが発生しますか?

ネクサスでのデプロイ中に401エラーが発生します。インストールされているネクサスは変更しません。 Nexusはlocalhost:8080/nexusで実行されており、デフォルトのユーザー/パスワードでログインできます。 mvn deployを実行していると、このエラーが発生します。

これが私のPOMです。

 <groupId>testproject</groupId>
 <artifactId>testproject</artifactId>
 <packaging>jar</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>testproject</name>
 <url>http://maven.Apache.org</url>
 <distributionManagement>
  <repository>
      <id>releases</id>
      <url>http://localhost:8080/nexus/content/repositories/releases</url>
    </repository>
    <snapshotRepository>
       <id>snapshots</id>
       <url>http://localhost:8080/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>
<dependencies>
 .........
</dependencies>

および〜/ .m2/settings.xml

<servers>
    <server>
        <id>snapshots</id>
        <username>deployment</username>
        <password>deployment123</password>
    </server>
    <server>
        <id>releases</id>
        <username>deployment</username>
        <password>deployment123</password>
    </server>
</servers>

例外:

Failed to execute goal org.Apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-           deploy) on project testproject: Failed to deploy artifacts: Could not transfer artifact testproject:testproject:jar:1.0-20131213.150615-1 from/to snapshots (http://localhost:8080/nexus/content/repositories/snapshots): Failed to transfer file: http://localhost:8080/nexus/content/repositories/snapshots/testproject/testproject/1.0-SNAPSHOT/testproject-1.0-20131213.150615-1.jar. 
Return code is: 401 -> [Help 1]

私を助けてください。

8
Gangaraju

現在動作しています。編集する必要があります${MVN_HOME}/conf/settings.xml の代わりに /home/{user}/.m2/settings.xml

19
Gangaraju

HTTP 401は「unauthorized」のステータスコードです。これは、deploymentユーザーがNexusの特定のリポジトリにアーティファクトをアップロードすることを許可されていないことを意味します。 Nexusにログインし、そのスナップショットリポジトリを変更するために必要なロールをdeploymentユーザーに付与します。

3
Kelsey Francis

スナップショットの展開に使用するユーザーには、次の権限を持つロールが必要です。

  • nx-repository-view-maven2-maven-snapshots-read
  • nx-repository-view-maven2-maven-snapshots-編集
  • nx-repository-view-maven2-maven-snapshots-add
0
OSGI Java

Gitlab-ci + MAVEN + JfrogArtifactoryの<servers>.m2/settings.xmlタグがありませんでした。

私のgitlab-ci.yxml

Artifactory_deploy:
  stage: install
  only:
    - desarrollo
  script:
    - echo "Deploying to Artifactory"
    - cd $CLONE_DIR
    - mvn -X deploy

My .m2/settings.xml

<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
                      https://maven.Apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
      <username>${ARTIFACTORY_USER}</username>
      <password>${ARTIFACTORY_PASSWORD}</password>
      <id>central</id>
    </server>
    <server>
      <username>${ARTIFACTORY_USER}</username>
      <password>${ARTIFACTORY_PASSWORD}</password>
      <id>snapshots</id>
    </server>
  </servers>
  <profiles>
    <profile>
    <id>develop</id>
      <properties>
        <artifactory.ip>${ARTIFACTORY_IP}</artifactory.ip>
        <artifactory.port>${ARTIFACTORY_PORT}</artifactory.port>
      </properties>
    <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <username>admin</username>
          <password>THISWASMYENCRYPTEDPASSWORD</password>
          <url>http://${ARTIFACTORY_IP}:${ARTIFACTORY_PORT}/artifactory/libs-release</url>
        </repository>
        <repository>
          <snapshots />
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <username>admin</username>
          <password>THISWASMYENCRYPTEDPASSWORD</password>
          <url>http://${ARTIFACTORY_IP}:${ARTIFACTORY_PORT}/artifactory/libs-snapshot</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <username>admin</username>
          <password>password</password>
          <url>http://${ARTIFACTORY_IP}:${ARTIFACTORY_PORT}/artifactory/libs-release</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots />
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <username>admin</username>
          <password>password</password>
          <url>http://${ARTIFACTORY_IP}:${ARTIFACTORY_PORT}/artifactory/libs-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
<activeProfiles>
   <activeProfile>develop</activeProfile>
 </activeProfiles>
</settings>


<servers>
    <server>
        <id>snapshots</id>
        <username>deployment</username>
        <password>deployment123</password>
    </server>
    <server>
        <id>releases</id>
        <username>deployment</username>
        <password>deployment123</password>
    </server>
</servers>