Ant的depend任务允许重新编译Java源代码,如果它的任何依赖项(引用的类,而不是模块依赖项)已被修改。我快速浏览了org.apache.maven.plugin.CompilerMojo和org.codehaus.plexus.compiler.util.scan.StaleSourceScanner,根据它的外观,它们根本不考虑依赖关系。如果源代码的时间戳比类文件的时间戳更新(加上一些增量值),则看起来好像重新编译了源代码。
我是否遗漏了任何内容,或者是Maven无视源代码没有改变但是依赖性的情况(因此它们都需要重新编译)?
答案 0 :(得分:0)
你没有错过任何东西。 Maven无视这种情况。你必须用干净的构建来解决它。
maven-versions-plugin可以检查新版本是否可用,因此只有一半的等式。干净的重建仍然是手工工作。
答案 1 :(得分:0)
我使用maven-antrun-plugin。在那里你可以配置它。我不认为这是自动的。我的意思是你必须在第一次编译时手动指定。病房maven处理你的问题。