web-dev-qa-db-ja.com

MavenをArtifactory Serverにデプロイしようとしています

Artifactoryリポジトリーにデプロイするプロジェクトを取得しようとしています。ユーザーqazwartは管理者であり、サーバーにデプロイする権限を持っています。 settings.xmlおよび<central> IDの下の<snapshots>ファイルにそのユーザーの正しい情報があります。 <distributionManagement>ファイルのpom.xmlセクションに正しいURLがあります。すべてが正しく設定されているようです。しかし、デプロイしようとすると、Return code is: 405, ReasonPhrase: Method Not Allowed. -> [Help 1]エラーが発生します。

何を探したり、試したりすればよいですか?

mvn deployの出力(読みやすくするために[ERORR]セクションに改行を追加しました):

$ mvn deploy
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] ....
[INFO] ------------------------------------------------------------------------
[INFO] Building Project Aggregate POM 2.5.2
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ rez ---
[INFO] Installing /home/qazwart/project/workspace/pom.xml to \
/home/Tomcat/.m2/repository/com/vegicorp/proj/2.5.2/proj-2.5.2.pom
[INFO] 
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ proj ---
Uploading: http://repo.vegicorp.net/artifactory/libs-release/net/vegicorp/proj/2.5.2/proj-2.5.2.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Project Aggregate POM ........................ FAILURE [1.984s]
[INFO] ....
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.885s
[INFO] Finished at: Wed Feb 18 12:58:53 EST 2015
[INFO] Final Memory: 10M/149M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal \
org.Apache.maven.plugins:maven-deploy-plugin:2.7:deploy \
(default-deploy) on project proj: \
Failed to deploy artifacts: Could not transfer artifact \
net.vegicorp:proj:pom:2.5.2 from/to central \
(http://repo.vegicorp.net/artifactory/libs-release): \
        Failed to transfer file: \
http://repo.vegicorp.net/artifactory/libs-release/net/vegicorp/proj/2.5.2/proj-2.5.2.pom. \
Return code is: 405, ReasonPhrase: Method Not Allowed. -> [Help 1]
[INFO] ...
[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

$HOME/.m2/settings.xmlの設定ファイルは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.1.0 http://maven.Apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.Apache.org/SETTINGS/1.1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <proxies>
    <proxy>
      <id>proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <Host>proxy.vegicorp.net</Host>
      <port>3128</port>
      <nonProxyHosts></nonProxyHosts>
    </proxy>
  </proxies>

  <servers>
    <server>
      <username>qazwart</username>
      <password>swordfish</password>
      <id>central</id>
    </server>
    <server>
      <username>qazwart</username>
      <password>swordfish</password>
      <id>snapshots</id>
    </server>
  </servers>

  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <url>http://repo.vegicorp.net/artifactory/libs-release</url>
        </repository>
        <repository>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>http://repo.vegicorp.net/artifactory/libs-snapshot</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>plugins-release</name>
          <url>http://repo.vegicorp.net/artifactory/plugins-release</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots />
          <id>snapshots</id>
          <name>plugins-snapshot</name>
          <url>http://repo.vegicorp.net/artifactory/plugins-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>

そして私のプロジェクトPOMは:

<?xml version="1.0" encoding="UTF-8"?>
<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>
  <artifactId>proj</artifactId>
  <groupId>net.vegicorp</groupId>
  <version>2.5.2</version>
  <packaging>pom</packaging>    

  <name>Project Aggregate POM</name>
  <description>All Reservation Delivery Projects</description>

  <properties>
    ....
  </properties>

  <scm>
    ....
  </scm>
  <distributionManagement>
    <repository>
      <id>central</id>
      <name>libs-release</name>
      <url>http://repo.vegicorp.net/artifactory/libs-release</url>
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <name>libs-snapshot</name>
      <url>http://repo.vegicorp.net/artifactory/libs-snapshot</url>
    </snapshotRepository>
  </distributionManagement>

  <dependencyManagement>
    ....
  </dependencyManagement>

  <build>
    ...
  </build>

  <modules>
    ...
  </modules>
</project>
16
David W.

問題が見つかりました。 Artifactoryリポジトリが間違っていました。 lib-releasesおよびlib-snapshots。これらは仮想リポジトリです。私が欲しいのはlibs-release-localおよびlibs-snapshot-local。さて、mvn deploy機能します。

しかし、私は Jenkin's Artifactory Plugin を取得しようとしています。

29
David W.

リポジトリ名に対するDavid W.の回答(まだコメントできないため)を少し修正

libs-release-localおよびlibs-snapshot-localです。

11
max