我有一个遗留项目,我需要花费34分钟来编译Maven。但是当我用我的IDE(在这种情况下是IntelliJ)打开它时,更改一些东西并运行它只需要几秒钟来编译。这是怎么发生的? IDE是否进行差异编译?如果是这样,我可以用Maven做类似的事情吗?
答案 0 :(得分:4)
是IDE只编译更改的代码。他们还有自定义编译器(例如eclipse中的ecj),它们不需要编译整个文件。
通常maven
运行不仅包括编译。在我处理的项目中,大部分时间用于测试,还有一些用于创建/捆绑工件。
要告诉maven不要运行测试,可以添加-DskipTests
命令行选项。另一种选择是从命令行中删除“clean
”,因此只会编译已更改的文件。
请记住:在提交源代码管理之前,应始终使用干净且激活的测试运行maven。