168 votes

'parent.relativePath' pointe vers mon com.mycompany: MyProject au lieu de org.apache: apache - Pourquoi?

Ce qui est vrai, c’est que le répertoire du projet Solr se trouve dans le répertoire parent de MyProject (mais il n’ya pas de module ni de relation maven entre les 2, mais uniquement dans la commodité de FS). Dois-je le placer?

 $ mvn -DskipTests clean install
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.apache.lucene:lucene-solr-grandparent:pom:3.1-SNAPSHOT
[WARNING] 'parent.relativePath' points at com.mycompany:MyProject instead of org.apache:apache, please verify your project structure @ line 23, column 11
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
 

de pom.xml :

 <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
  </parent>

$ pwd
/Users/simpatico/ws/MyProjectBaseDir/solr
 

314voto

Raghuram Points 26896

Ajoutez un <relativePath> à <parent> vide afin qu'il résolve le pom parent des référentiels.

   <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>8</version>
    <relativePath></relativePath>
  </parent>
 

Voici le doc pertinent.

21voto

mkleint Points 995

soit ignorer l'avertissement, déplacer les sources hors du parent non lié ou entrer la valeur correcte de l'élément. Le problème est dû à la valeur par défaut de relativePath, qui est ../pom.xml. Cette valeur par défaut est injectée dans votre pom effectif, ce qui déclenche l'avertissement.

-3voto

Desmond Points 45

Parfois, l'erreur est provoquée par l'ouverture d'un fichier dans le répertoire cible. En raison de la "cible propre", le répertoire cible doit être supprimé et le refus d'accès causera exactement le même problème. Le message d'erreur du maven, dans ce cas, n'a pas été très utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X