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>
問題が見つかりました。 Artifactoryリポジトリが間違っていました。 lib-releases
およびlib-snapshots
。これらは仮想リポジトリです。私が欲しいのはlibs-release-local
およびlibs-snapshot-local
。さて、mvn deploy
機能します。
しかし、私は Jenkin's Artifactory Plugin を取得しようとしています。
リポジトリ名に対するDavid W.の回答(まだコメントできないため)を少し修正
libs-release-localおよびlibs-snapshot-localです。