web-dev-qa-db-fra.com

L'élément repository n'a pas été spécifié dans l'élément POM de distributionManagement ni dans le paramètre -DaltDep loymentRepository = id :: layout :: url

J'ai un problème lors du déploiement et voici le message d'erreur que je reçois:

[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ core ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.296 s
[INFO] Finished at: 2014-11-26T17:05:00+02:00
[INFO] Final Memory: 13M/244M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-deploy-plugin:2.7:
deploy (default-deploy) on project core: Deployment failed: repository element w
as not specified in the POM inside distributionManagement element or in -DaltDep
loymentRepository=id::layout::url parameter -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[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 rea
d the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/MojoExecutionE
xception

J'ai vérifié certaines ressources sur Internet et aucune d'entre elles n'a fonctionné pour mon cas. Je pense que c'est lié à mon pom.xml, voici donc ses parties liées:

<build>
        <plugins>
              <plugin>
                    <groupId>org.Apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                         <source>1.7</source>
                         <target>1.7</target>
                    </configuration>
              </plugin>
        </plugins>
  </build>

  <repositories>
        <repository>
              <id>repository.springframework.maven.release</id>
              <name>Spring Framework Maven Release Repository</name>
              <url>http://maven.springframework.org/release</url>
        </repository>
        <repository>
              <id>Appid</id>
              <name>AppName</name>
              <url>http://IPaddress/nexus/content/repositories/Myapps/</url>
        </repository>
  </repositories>

Que pensez-vous que le problème pourrait être? Merci d'avance.

33
Mertcan

Vous devez inclure le référentiel que vous souhaitez déployer dans la section de gestion de la distribution du fichier pom.xml.

Exemple:

<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/xsd/maven-4.0.0.xsd">
...   
<distributionManagement>
    <repository>
      <uniqueVersion>false</uniqueVersion>
      <id>corp1</id>
      <name>Corporate Repository</name>
      <url>scp://repo/maven2</url>
      <layout>default</layout>
    </repository>
    ...
</distributionManagement>
...
</project>

Voir Gestion de la distribution

45
jchampemont

Dans votre pom.xml, vous devez ajouter la configuration de distributionManagement à où déployer.

Dans l'exemple suivant, j'ai utilisé système de fichiers en tant qu'emplacement.

<distributionManagement>
       <repository>
         <id>internal.repo</id>
         <name>Internal repo</name>
         <url>file:///home/thara/testesb/in</url>
       </repository>
   </distributionManagement>

vous pouvez ajouter un autre emplacement pendant le déploiement à l'aide de la commande suivante (mais pour éviter les erreurs ci-dessus, vous devez avoir au moins un référentiel configuré):

mvn deploy -DaltDeploymentRepository=internal.repo::default::file:///home/thara/testesb/in
13
Thara Perera

Le problème est résolu en ajoutant l'URL du référentiel sous l'onglet DistributionManagement dans pom.xml principal.

Jenkin maven objectif: clean deploy -U -Dmaven.test.skip = true

<distributionManagement>
    <repository>
        <id>releases</id>
        <url>http://domain:port/content/repositories/releases</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://domain:port/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>
5
ravi