2011-10-30 12 views
5

L'attività di Ant depend consente di ricompilare il codice sorgente Java se una delle sue dipendenze (classi di riferimento, non dipendenze del modulo) sono state modificate. Ho dato una rapida occhiata a org.apache.maven.plugin.CompilerMojo e org.codehaus.plexus.compiler.util.scan.StaleSourceScanner e, a quanto sembra, non prendono affatto in considerazione le dipendenze. Sembra che il codice sorgente venga ricompilato se il suo timestamp è più recente di quello del file di classe (più delta).Maven-compiler-plugin considera le dipendenze quando verifica la presenza di fonti obsolete?

Mi sono perso qualcosa o Maven trascura il caso in cui il codice sorgente non è cambiato ma la sua dipendenza ha fatto (quindi entrambi devono essere ricompilati)?

risposta

0

Non ti è mancato nulla. Maven sta ignorando quel caso. Dovrai aggirare il problema con una build pulita.

Il maven-versions-plugin può controllare se sono disponibili versioni più recenti, quindi c'è metà dell'equazione. La ricostruzione pulita è ancora un lavoro manuale.

+0

Credo che tu abbia frainteso la mia domanda. Stavo parlando di classi referenziate, non di dipendenze di moduli. maven-versions-plugin tratta solo le dipendenze dei moduli. – Gili

0

Uso il plug-in maven-antrun. Lì puoi configurarlo. Non penso che sia automatico però. Quello che intendo in te devi specificare è manualmente la prima volta che lo compili. Dopo le riparazioni, Maven gestisce il tuo problema.

Problemi correlati