Я не могу точно понять динамику, которая движет сообществом Maven, но это не то, что дружелюбно к детальному контролю над процессом сборки.
Во всяком случае, покопавшись, я нашел ответ, который работал для меня здесь: http://www.codesenior.com/en/tutorial/Java-Maven-Compile-Only-Changed-Files
Обратите внимание, что установка значения false
сначала смутила меня, но здесь дано объяснение: https://stackoverflow.com/a/19653164/409638
Воспроизводится здесь для удобства:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
Это useIncrementalCompilation
, установленный на false
, который здесь является ключевым.
Я могу подтвердить, что когда я запускаю свою сборку, я ушел из:
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 114 source files to /home/vagrant/workspace/splat/target/classes
до
[INFO] Compiling 1 source file to /home/vagrant/workspace/splat/target/classes
, который побрил несколько секунд моей инкрементальной сборки. Теперь все, что мне нужно сделать, это выяснить, как отключить все другие ненужные ошибки, которые замедляют мои циклы редактирования / оценки ...