如果它的任何依赖项(引用的类,而不是模块依赖项)已被修改, Ant 的依赖任务允许重新编译 Java 源代码。我快速浏览了一下org.apache.maven.plugin.CompilerMojo和org.codehaus.plexus.compiler.util.scan.StaleSourceScanner,从外观上看,它们根本没有考虑依赖关系。如果源代码的时间戳比类文件的时间戳更新(加上一些增量),它看起来好像源代码被重新编译。
我是否遗漏了任何东西,或者 Maven 是否忽略了源代码没有改变但它的依赖项发生了变化(因此它们都需要重新编译)的情况?