maven - www - ''parent.relativePath'' apunta a mi com.mycompany: MyProject en lugar de org.apache: apache-¿Por qué?
pom.xml que es (4)
Lo que es cierto es que el directorio de proyectos de Solr está dentro del directorio padre de MyProject (pero no hay ningún módulo ni ninguna relación de experto entre los 2, solo conveniencia FS). ¿Tengo que ubicarlo?
$ 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
Agregue un <relativePath>
vacío a <parent>
para que resuelva el pom padre de los repositorios.
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>8</version>
<relativePath></relativePath>
</parent>
Aquí está el doc relevante.
Esta característica es solo para mejorar el desarrollo en un proceso de pago local de ese proyecto. Establezca el valor en una cadena vacía en caso de que desee deshabilitar la característica y siempre resuelva el POM padre de los repositorios.
El valor predeterminado es:../pom.xml
.
Creo que te has perdido la etiqueta <relativePath>
en la pregunta. Lo digo porque, sin él, este error no surgirá. Habiendo dicho eso,
La línea que deberá concentrarse es la siguiente declaración de advertencia.
''parent.relativePath'' apunta a com.mycompany: MyProject en lugar de org.apache: apache
Dice claramente que la ruta relativa de la etiqueta en su módulo apunta a un archivo pom que tiene un artifactId diferente en comparación con lo especificado
Esto se debe a que existe una discrepancia entre el artifactId
de tu parent/pom.xml
y el artifactId
que has mencionado en la etiqueta <parent>
de module/pom.xml
. Para evitar la advertencia, cambie <parent>
en su module/pom.xml
como se muestra a continuación.
<parent>
<groupId>com.mycompany</groupId>
<artifactId>MyProject</artifactId>
<version>8</version>
<relativePath>path-to-your-parent-pom.xml</relativePath>
</parent>
Ese mensaje podría ser causado por un pom.xml en el directorio principal relativo a su proyecto actual. El pom en el directorio principal no coincide con la configuración de project.parent del pom actual.
Ignore la advertencia, mueva las fuentes desde el elemento primario no relacionado o ingrese el valor correcto del elemento. El problema está causado por el valor predeterminado para relativePath que es ../pom.xml y ese valor predeterminado se inyecta en su pom efectivo, lo que activa la advertencia.