2013-06-06 20 views
10

devo stessa configurazione del plugin:Maven compilatore ricompilazione di tutti i file modificati invece

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.1</version> 
     <configuration> 
     <staleMillis>1</slateMillis> 
     <useIncrementalCompilation>true</useIncrementalCompilation> 
     </configuration> 
    </plugin> 
</plugins> 

E Maven sempre ricompilare tutti i file se cambia uno di loro. Ovviamente non è un problema se hai 10-15 file. Ho più di mille file sorgenti e ci vuole un sacco di tempo. Il plugin del compilatore Maven ha alcune impostazioni nascoste per ricompilare solo i file modificati? Qualche soluzione alternativa?

+0

Quale comando usate per lanciare la vostra Maven costruire? –

+0

Provo la compilazione, il pacchetto e l'installazione. Nessuna differenza. – Torsten

+0

Fornire il comando completo per favore: 'mvn ' –

risposta

26

https://issues.apache.org/jira/browse/MCOMPILER-209

utilizzarlo con la notazione bulgaro (sì < -> no)

<useIncrementalCompilation>false</useIncrementalCompilation> significa vero e viceversa

+3

Epic) Grazie! – Torsten

+2

Ricorda che con questa impostazione fa la semplice compilazione incrementale, ma non è molto utile in quanto non ricompila le classi dipendenti. Ad esempio, se hai una classe A che chiama un metodo di classe B e modifichi la firma di un metodo in B, Maven ricompilerà solo B e la compilazione supererà, ma ora A ha un riferimento al metodo inesistente in B – Ivan

+3

Quindi questa impostazione può essere pensata come "useSmartIncrementalCompilation", quindi quando la impostiamo su false, otteniamo solo quella di base (e pericolosa) che ho descritto sopra. In Maven 3, quello "intelligente" sembra essere rotto, e invece di calcolare le classi dipendenti giuste, se una singola classe in un progetto viene cambiata, contrassegna tutte le classi come classi dipendenti, rendendo effettivamente la compilazione non incrementale. – Ivan

1

Probabilmente una cattiva notizia: vedere l'errore MCOMPILER-205.

Problemi correlati