web-dev-qa-db-fra.com

Essayer d'obtenir le déploiement de Maven sur Artifactory Server

J'essaie d'obtenir un projet à déployer dans notre référentiel Artifactory. L'utilisateur qazwart est administrateur et a l'autorisation de déployer sur le serveur. J'ai les informations correctes de cet utilisateur dans le settings.xml fichier sous le <central> et <snapshots> ID. J'ai la bonne URL dans le <distributionManagement> section dans mon pom.xml fichier. Il semble que tout soit correctement configuré. Pourtant, lorsque j'essaie de déployer, j'obtiens un Return code is: 405, ReasonPhrase: Method Not Allowed. -> [Help 1] Erreur.

Que dois-je rechercher ou essayer?

La sortie de mvn deploy (J'ai ajouté des sauts de ligne dans le [ERORR] section pour le rendre plus lisible):

$ 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

Mon fichier de paramètres dans $HOME/.m2/settings.xml est:

<?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>

Et mon projet POM c'est:

<?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.

J'ai trouvé le problème. J'avais les mauvais référentiels Artifactory. J'ai eu lib-releases et lib-snapshots. Ce sont des référentiels virtuels. Ce que je veux c'est libs-release-local et libs-snapshot-local. Maintenant, mvn deploy travaux.

Cependant, j'essaye maintenant d'obtenir le Jenkin's Artifactory Plugin

29
David W.

Juste une légère correction sur la réponse de David W. (puisque je ne peux pas encore commenter) aux noms de référentiel

Il s'agit de libs-release-local et libs-snapshot-local.

11
max