2012-08-02 22 views
13

Byłem po prostu ciekawy, aby wiedzieć, kiedy instaluję mvn bez "czystej", maven kompiluje tylko zmodyfikowane pliki java. W jaki sposób maven określa plik java jest modyfikowany, czy nie? Uważam, że nie korzysta z właściwości ostatniej modyfikacji pliku.W jaki sposób maven kompiluje tylko zmodyfikowane pliki java?

Powód dla mojej wiary: Miałem moduł, po scaleniu zmiany z svn, dałem mvn install i nie skompilowałem zmodyfikowanego pliku i kiedy spojrzałem na zmianę zobaczyłem, że "long" zostały zmodyfikowane do "Long" w pobierających i ustawiających.

Po prostu chcę wiedzieć, jak maven określa, czy plik java się zmienił, czy nie?

(P.S Używam Apache Maven 3.0.3, jeśli to ma znaczenie)

+0

Chyba używa on svn st? – Fakrudeen

+0

co jeśli moduł nie jest pod kontrolą wersji? –

+0

następnie (czas pliku klasy zmodyfikowano – Fakrudeen

Odpowiedz

15

wierzę plugin kompilator Maven używa ostatniej modyfikacji dat na plikach źródłowych i klasowych w celu ustalenia, czy konieczna jest ponowna kompilacja.

Kompilator website jest raczej mało informacji, ale strona compiler:compile cel ma informacji o następującym atrybutem, który precyzyjnie dostraja obliczeń staleness: http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#staleMillis. To jedyne oficjalne oświadczenie dotyczące stęchlizny.

+0

Zgadnij, że moja wiara jest błędna i korzysta z właściwości ostatniej modyfikacji. Dzięki za link! –

5

Nie wiedząc wiele o Maven, mogę powiedzieć, że ogólnie rzecz biorąc, „make” Narzędzia -Jak korzystać z „ostatnio zmieniony” datownik, co tłumaczyłoby miałeś problem z SVN (patrz Wikipedia on Subversion's weaknesses.

+0

masz rację! dzięki :) –