Intellij Idea编译器重新编译已编译的项目

时间:2016-01-22 09:23:47

标签: java maven intellij-idea

我使用maven命令清理,构建整个项目,创建war并部署到服务器。我不能使用Intellij这样做,因为我只有社区版。它在与intellij相同的目录中构建项目。

为了加快速度,我编写了一个脚本,该脚本在本地“目标”目录中查找编译文件,这些文件比服务器中的文件更新并复制它们。这一切都运行正常,但问题是Intellij没有看到使用maven编译的类,它应该跳过并重建整个项目。

目前它的工作原理如下:

  1. 使用maven手动终端构建整个项目
  2. 返回intellij - >制作项目
  3. 重建所有
  4. 运行脚本 - >它交换所有文件
  5. 我想要实现的目标:

    1. 手动终端使用maven构建整个项目
    2. 回到intellij。更改一个文件 - >制作项目
    3. 仅编译一个java文件
    4. 运行脚本 - >它只交换一个.class文件
    5. 所以问题是我如何使用已编译的外部工具编译intellij处理文件?

2 个答案:

答案 0 :(得分:1)

你不是。 IntelliJ IDEA有自己的增量编译系统,它跟踪正在编译的文件之间的依赖关系,并为每组更改重新编译最小的类集。使用Maven或Gradle等工具进行外部编译不会更新IntelliJ IDEA的增量编译数据库。因此,IntelliJ IDEA无法识别已经使用外部工具编译类的事实,并将重新编译。

答案 1 :(得分:0)

这困扰了我很长时间。最后,我找到了这个。 IDEA build settings 运行程序时可以选择是使用 InteliJ 还是 gradle 进行编译。在gradle项目下,默认使用gradle构建。