Freitag, 15. Juli 2011

maven-resources-plugin über pluginManagement verteilen

Das pluginManagement über parents zu handlen ist eine tolle Sache, man trägt dort gewünschte die Konfiguration ein und in den Kindprojekten gibt man einfach nur das Plugin an und es zieht dort.
Hat bis jetzt gut funktioniert.
Nun habe ich das mit dem maven-resources-plugin versucht und leider zog das Teil in allen Projekten die diesen parent hatten, egal ob es nun im pom eingetragen war oder nicht. Es blieb nichts anderes übrig als die Config im parent zu löschen und in jedem Projekt einzeln hinzuzufügen.

Erkärt habe ich es mir so: Da das maven-resources-plugin vom ganz normalen Lifecyle verwendet wird, ist es irgendwie in jedem pom implizit vorhanden und meine Config im parent zieht somit in jedem Projekt.

Eine andere Lösung als das Plugin in jedem Projekt einzeln zu konfigurieren ist noch nicht gekommen, aber vielleicht weiß ja ein geneigter Leser mehr.

Links:
Mavenseite über das resources Plugin

1 Kommentar:

  1. Zur Zeit habe ich auch ein Problem mit Maven, seit dem ich auf Ubuntu 11.10 geuppt habe. Andere Kollegen die noch die Vorgänger Version von Ubuntu haben sind nicht betroffen. Auch ein neuer Checkout hat nichts bebracht. Bei jedem mvn clean install bekomme ich gleich zu Anfang diese Meldung. Auch ein mvn dependendcy:resolve brachte nichts. Leider habe ich noch keinerlei Lösung gefunden. War das letzte mal das ich ein Update von Ubuntu gemacht habe, aber es drängt sich ja schon fast auf...


    [INFO] [clean:clean {execution: default-clean}]
    [WARNING] DEPRECATED [tasks]: Use target instead
    [INFO] [antrun:run {execution: compile}]
    [WARNING] Parameter tasks is deprecated, use target instead
    [FATAL ERROR] org.apache.maven.plugin.antrun.AntRunMojo#execute() caused a linkage error (java.lang.NoSuchMethodError) and may be out-of-date. Check the realms:
    [FATAL ERROR] Plugin realm = app0.child-container[org.apache.maven.plugins:maven-antrun-plugin:1.6]
    urls[0] = file:/home/morszeck/.m2/repository/org/apache/maven/plugins/maven-antrun-plugin/1.6/maven-antrun-plugin-1.6.jar
    urls[1] = file:/home/morszeck/.m2/repository/ant/ant-nodeps/1.6.5/ant-nodeps-1.6.5.jar
    urls[2] = file:/usr/lib/jvm/java-6-sun/lib/tools.jar
    urls[3] = file:/home/morszeck/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
    urls[4] = file:/home/morszeck/.m2/repository/org/apache/ant/ant-nodeps/1.8.1/ant-nodeps-1.8.1.jar
    urls[5] = file:/home/morszeck/.m2/repository/org/apache/ant/ant/1.8.1/ant-1.8.1.jar
    urls[6] = file:/home/morszeck/.m2/repository/org/apache/ant/ant-launcher/1.8.1/ant-launcher-1.8.1.jar
    [FATAL ERROR] Container realm = plexus.core
    urls[0] = file:/usr/share/maven2/lib/maven-debian-uber.jar
    urls[1] = file:/home/morszeck/.m2/repository/mysql/mysql-connector-java/5.0.5/mysql-connector-java-5.0.5.jar
    [INFO] ------------------------------------------------------------------------
    [ERROR] FATAL ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] org.apache.tools.ant.launch.Locator.fromJarURI(Ljava/lang/String;)Ljava/lang/String;
    [INFO] ------------------------------------------------------------------------
    [INFO] Trace
    java.lang.NoSuchMethodError: org.apache.tools.ant.launch.Locator.fromJarURI(Ljava/lang/String;)Ljava/lang/String;

    AntwortenLöschen