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

use*_*192 5 java intellij-idea maven

我使用 Maven 命令来清理、构建整个项目、创建战争并部署到服务器。我无法使用 Intellij 来执行此操作,因为我只有社区版。它在与 intellij 相同的目录中构建项目。

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

目前它的工作原理如下:

  1. 在终端中使用 Maven 手动构建整个项目
  2. 返回intellij -> make项目
  3. 重建全部
  4. 运行脚本 -> 它交换所有文件

我想要实现的目标:

  1. 使用 Maven 手动构建整个项目
  2. 回到intellij。更改一个文件 -> 制作项目
  3. 只编译一个java文件
  4. 运行脚本 -> 它只交换一个 .class 文件

所以问题是如何让 intellij 将已经用外部工具编译的文件视为已编译的?

yol*_*ole 1

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