maven如何只编译修改过的java文件?

Sen*_*mar 13 java compilation last-modified maven-3 maven

我只是很想知道这一点,当我给mvn install而不做'clean'时,maven只编译修改过的java文件.maven如何识别java文件是否被修改?我相信它没有使用文件的最后修改属性.

我相信的原因:我有一个模块,在合并svn的更改后,我给了mvn install并且它没有编译修改后的文件,当我看到更改时,我看到'long'被修改为'Long'in吸气剂和二传手.

所以我只是想知道如果java文件发生了变化,maven如何识别?

(PS我正在使用Apache Maven 3.0.3,如果这很重要)

Dun*_*nes 15

我相信Maven编译器插件在源文件和类文件上使用最后修改日期来确定是否需要重新编译.

编译器网站的信息相当短,但compiler:compile目标页面包含以下属性的信息,可以精确调整过时性计算:http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html #staleMillis.这是关于陈旧性的唯一正式声明.


The*_*wan 5

在不了解maven的情况下,我可以告诉你,一般来说,"make"式工具使用"last changed"时间戳,这可以解释你对svn的问题(参见维基百科有关Subversion的弱点).