Domanda

Se io definisco un plugin nella tag e si desidera utilizzare questo nel mio comando sito come faccio a farlo? Devo definire il plugin all'interno di tag di nuovo?

E per quanto riguarda la configurazione, che probabilmente ho fatto all'interno del tag di compilazione e vogliono che si terrà presso il tag di riferimento come bene? (Non voglio specifie ad esempio, un percorso di un file di configurazione per due volte solo per usare un plug-in 2 cicli di vita)

Per esempio: io definisco il mio plug checkstyle nel tag di compilazione e configrue un percorso personalizzato per le regole da utilizzare. Lo faccio perché le regole sono confezionate in un barattolo di modo che io possa definire come dipendenza. Questo non sarebbe possibile se lo faccio nel tag di riferimento. Ma ho bisogno di usare questo plugin nel tag di segnalazione aswell così surfire in grado di generare un rapporto per checkstyle. Quindi devo definire il plugin all'interno del tag segnalazione pure.

Forse sto facendo qualcosa di sbagliato completo qui, ma non vedo come posso farlo poi che altro. Quello che non mi piace è che ho 1 plug-in per due volte nel mio pom (nel tag di compilazione e tag reporting).

Spero che qualcuno in grado di verificare la mia soluzione è ok, o mi dia un consiglio su come farlo meglio.

thx

Kuku

È stato utile?

Soluzione

Un plugin Maven è in genere legato a esecuzione in una determinata fase del ciclo di vita, quando si definisce. Il plugin si specifica quale fase del ciclo di vita è questo, ma è possibile modificare questo se si hanno esigenze particolari.

Se si dispone di un multi-modulo di costruire è possibile definire una serie di plugin con tutti i parametri richiesti in un comune genitore-pom. Questo sarà normalmente eseguito per ogni sotto-modulo nella build. Se non si vuole che questo accada è possibile definire (nel POM genitore) in questo modo:

<plugin>
   <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
            <skip>true</skip>
       </configuration>
   ... More plugin cofniguration stuff ...
 </plugin>

Se in uno o più moudules nidificate desidera attivare questo plugin si può solo dire:

<plugin>
   <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
            <skip>false</skip>
       </configuration>
   ... Maybe Configuration ....
 </plugin>

In questo modulo specifico. È possibile scegliere se si desidera riconfigurare i parametri di default che vengono ereditati dalla definizione genitore o meno.

Credo che questo è ciò che stai cercando?

Altri suggerimenti

In aggiunta alla risposta di KRosenvold, si può anche ridurre al minimo la configurazione dichiarando un plugin nella sezione <pluginManagment>, forse al vostro più alto pom nella catena di ereditarietà , e quindi è possibile omettere specificando il versione del plugin in tutti gli altri luoghi si dichiara che è utilizzare .

Parent Pom:

<pluginManagement>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-1</version>
        </plugin>
    </plugins>
<pluginManagement>

Bambino Pom:

<plugins>
    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
    </plugin>
</plugins>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top