2016-10-24 6 views
1

Ich bin ein wenig verwirrt über die Option „includeParents“ der Abhängigkeit: Liste Ziel der Maven Abhängigkeit PluginMaven Abhängigkeit: Liste includeParents

http://maven.apache.org/plugins/maven-dependency-plugin/list-mojo.html

Es scheint mir, dass die Eltern des pom selbst sind nicht in die Liste aufgenommen (ich meine die Eltern des Projekts Pom, auf die wir das Ziel anwenden). Ist das wirklich der Fall oder habe ich einen Fehler gemacht? Wenn ja, gibt es einen Weg, auch den Elternteil des Projekts zu bekommen?

Beispiel:

verwendete ich den pom von org.sonatype.plugins: Sisu-Maven-Plugin: 1.4 von MavenCentral. Es enthält einen Verweis auf das übergeordnete

<parent> 
    <groupId>org.sonatype.plugins</groupId> 
    <artifactId>plugins-parent</artifactId> 
    <version>9</version> 
</parent> 

Aber das Ergebnis mvn dependency:list -DincludeParents=true ist:

javax.inject:javax.inject:jar:1:compile 
org.apache.maven:maven-artifact-manager:jar:2.0.8:compile 
javax.annotation:jsr250-api:jar:1.0:compile 
com.google.code.findbugs:jsr305:jar:1.3.9:compile 
org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.2.0:compile 
org.apache.maven:maven-model:jar:2.0.8:compile 
org.apache.maven:maven-plugin-registry:jar:2.0.8:compile 
org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.6:compile 
org.apache.maven:maven-project:jar:2.0.8:compile 
org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-44:compile 
org.apache.maven:maven-settings:jar:2.0.8:compile 
aspectj:aspectjrt:jar:1.5.3:compile 
junit:junit:jar:4.8.2:test 
org.apache.maven:maven-repository-metadata:jar:2.0.8:compile 
org.sonatype.sisu:sisu-inject-bean:jar:2.5.3:compile 
com.google.guava:guava:jar:11.0.2:compile 
org.apache.maven.shared:maven-common-artifact-filters:jar:1.4:compile 
org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile 
org.apache.maven:maven-artifact:jar:2.0.8:compile 
org.codehaus.plexus:plexus-utils:jar:3.0.15:compile 
javax.enterprise:cdi-api:jar:1.0:compile 
org.apache.maven:maven-plugin-api:jar:2.0:compile 
org.apache.maven:maven-profile:jar:2.0.8:compile 
org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10:compile 
+0

Sind Sie sicher, dass Sie mit der Version 2.8 oder höher des Plugins? Kannst du bitte ein einfaches [mcve] posten? – Tunaki

+0

@Tunaki Ich benutze Maven 3.3.9. Ich habe der Frage ein Beispiel hinzugefügt. –

Antwort

1

Der Parameter includeParents 2.8 der Maven Dependency Plugin in Version eingeführt wurde:

Fügen Mutter Poms in die Abhängigkeitsauflösungsliste. [...]

  • seit: 2,8

jedoch die spezifische Maven Projekt, an dem Sie diesen Befehl sind startet Version 2.2 des Plugins erklärt. Hier ist, wie ich dies verfolgt: sisu-maven-plugin-1.4 hat als Elternteil org.sonatype.plugins:plugins-parent:9, die selbst als Eltern org.sonatype.forge:forge-parent:12, die schließlich erklärt version 2.2 of the plugin ... Maven wird es vorziehen, diese Version zu verwenden, da es direkt in der POM des Projekts deklariert wird.

Beachten Sie, dass Sie dies auch in den Protokollen erkennen können. Beim Ausführen des Befehls für dieses Projekt lauten die Protokolle:

[INFO] Building Sisu Maven Plugin 1.4 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-dependency-plugin:2.2:list (default-cli) @ sisu-maven-plugin --- 
[INFO] 

zeigt, dass Version 2.2 verwendet wird.

Als solche müssen Sie nur die Verwendung einer Version zu zwingen, größer als 2,8 für die includeParents Parameter zu übernehmen, zum Beispiel 2.10 verwendet, die die aktuellen neuesten ist:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:list -DincludeParents 
+0

Vielen Dank. Ich hätte nie gedacht, dass der Fehler in der Version des Plugins liegt. –