2016-07-07 89 views
0

我有一个遗留项目,我需要34分钟才能编译Maven。但是当我用我的IDE(在这种情况下是IntelliJ)打开它时,改变一下并运行它只需要几秒钟的时间来编译。这是如何发生的? IDE是否执行差分编译?如果是这样,我可以做一些类似Maven的事情吗?IDE如何快速编译?

+1

您的IDE可能不是重新编译整个项目,而只是改变了的类。 – khelwood

+0

@Matt我觉得这里有什么问题,但我是Maven的新手,所以不知道如何减少编译时间。指针是赞赏。 – Johnny

回答

4

是的IDE只编译更改后的代码。他们也有自定义编译器(例如eclipse中的ecj),它们不需要编译整个文件。

通常一个maven运行不仅包含汇编。在我大部分时间处理的项目中都用于测试,还有一些额外的用于创建/捆绑工件。

为了告诉maven不要运行测试,可以添加-DskipTests命令行选项。另一种选择是从命令行中删除“clean”,因此只有已更改的文件才会被编译。

请记住:在提交源代码控制之前,您应该始终使用干净且激活的测试运行maven。