2012-08-02 17 views
13

Tenía curiosidad por saber esto, cuando doy mvn install sin hacer 'clean', maven compila solo los archivos java modificados. ¿Cómo identifica Maven un archivo java modificado o no? Creo que no está utilizando la última propiedad modificada del archivo.¿Cómo compila maven solo los archivos java modificados?

Motivo de mi creencia: tenía un módulo, después de fusionar un cambio de svn, le di una instalación de mvn y no compiló el archivo modificado y cuando miré el cambio vi que 'largo' se modificó para 'Largo' en getters y setters.

Entonces, ¿solo quiero saber cómo maven identifica si un archivo java ha cambiado o no?

(P.S estoy usando Apache Maven 3.0.3, si lo que importa)

+0

supongo usa svn st? – Fakrudeen

+0

¿y si el módulo no está bajo control de versión? –

+0

entonces (hora del archivo de clase modificado – Fakrudeen

Respuesta

15

creo que el plugin del compilador Maven utiliza fechas de última modificación de los archivos de origen y de clase para determinar si es necesaria la recompilación.

El compilador website es más bien corto en la información, pero la página compiler:compile objetivo tiene información sobre los siguientes atributos, que sintoniza finamente los cálculos de estancamiento: http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#staleMillis. Esa es la única declaración oficial con respecto al estancamiento.

+0

Supongo que mi creencia es incorrecta y utiliza la última propiedad modificada. Gracias por el enlace! –

5

Sin conocer mucho acerca de experto, te puedo decir que, en general, "hacen" -como herramientas utilizan el "Ultimo cambio de" marca de tiempo, lo que explicaría el problema que tuvo con SVN (ver Wikipedia on Subversion's weaknesses.

+0

¡tienes razón! Gracias :) –

Cuestiones relacionadas