我们如何防止在IntelliJ IDE上使用Maven项目进行多次构建

我们如何防止在IntelliJ IDE上使用Maven项目进行多次构建,maven,intellij-idea,Maven,Intellij Idea,我们有一个Maven多项目,没有任何好的解决方案可以在使用Intellij时不浪费时间等待无用的重新构建。 IntelliJ失去了其强大的增量编译器的优势——我们观察到它不能与Maven正常工作,因为它迫使开发人员在服务器以调试模式启动之前等待2次构建(一次使用Maven,另一次使用IntelliJ内部编译) 在Maven之前,“锤子”是唯一可以点击的按钮。并且在启动服务器时自动完成。此外,由于IntelliJ强大的增量编译过程,只编译了更改后的代码 为了使IntelliJ同步其索引和热调试,仍

我们有一个Maven多项目,没有任何好的解决方案可以在使用Intellij时不浪费时间等待无用的重新构建。
IntelliJ失去了其强大的增量编译器的优势——我们观察到它不能与Maven正常工作,因为它迫使开发人员在服务器以调试模式启动之前等待2次构建(一次使用Maven,另一次使用IntelliJ内部编译)

在Maven之前,“锤子”是唯一可以点击的按钮。并且在启动服务器时自动完成。此外,由于IntelliJ强大的增量编译过程,只编译了更改后的代码

为了使IntelliJ同步其索引和热调试,仍然需要“Hammer”构建

现在是一个Maven项目,在mvn clean安装之后-IntelliJ必须在启动服务器时第二次编译(hammer工具)-否则,热调试无法工作。使用前一个映像中的标准启动配置,构建会在服务器启动之前自动统计 听起来,通过Maven进程创建的类和IntelliJ索引之间没有联系——因此IntelliJ必须重新编译——别无选择

大多数情况下,IntelliJ要求其内部编译来重新编译所有内容/无法说出规则。 实际上,听起来IntelliJ重新编译了整个受影响的模块和所有子依赖项,就像Maven一样。因此,如果您更新根模块的依赖项或更改根模块的某些类,IntelliJ会重新编译每个模块—大多数情况下都是如此

因此,IntelliJ增量编译的童话故事现在离Maven还很远

现在,在最新的2019.3版本中,IntelliJ提出了著名的“将IDE构建/操作委托给Maven”设置。 据说2019.3.1解决了一些错误

但是现在如果我们选择将IDE构建/操作委托给Maven选项: 一个标准的启动配置,将启动Tomcat服务器并并行。。。2个Maven构建(哇!):1个用于单个war模块,另一个用于包含所有多模块的父模块。 更糟糕的是,IntelliJ会在一段时间后启动父多模块的多个重复进程,就像它并行重新启动一样

请注意,我们的项目完全建立在Maven/Bambol CI上,没有这个新选项IntelliJ也可以

问题是: 我们如何防止在IntelliJ IDE上使用Maven项目进行多次构建? 使用强大的IDE和平工作的设置是什么

有什么提示吗

但是现在,如果我们选择将IDE构建/操作委托给Maven选项:一个标准的启动配置,将启动Tomcat服务器并并行。。。2个Maven版本(哇!)

有一个错误:在2019.3.2版本中修复,请从更新

实际上,听起来IntelliJ重新编译了整个受影响的模块和所有子依赖项,就像Maven一样

尝试禁用设置(macOS上的首选项)|构建、执行、部署|构建工具| Maven |导入|使用Maven输出目录在Maven工具awindow中重新导入项目并构建|重建项目

但是现在,如果我们选择将IDE构建/操作委托给Maven选项:一个标准的启动配置,将启动Tomcat服务器并并行。。。2个Maven版本(哇!)

有一个错误:在2019.3.2版本中修复,请从更新

实际上,听起来IntelliJ重新编译了整个受影响的模块和所有子依赖项,就像Maven一样


尝试禁用设置(macOS上的首选项)|构建、执行、部署|构建工具| Maven |导入|使用Maven输出目录在Maven工具awindow中重新导入项目和构建|重建项目?

2019.3.2尚未发布。在您提到的罚单中,他们谈论的是2019.3.1版本。在IDEA-224676中,他们声明应在2019.3.1中修复。您是否建议IntelliJ编译器不使用Maven/target目录?我将尝试一下,但这听起来很奇怪…将IDE构建/操作委托给Maven+取消选中“使用Maven输出目录”-可以防止在构建期间并行启动服务器-但如果之前已经编译了所有内容,则会启动整个项目构建-事件。工作区中有两个多模块,这意味着两个项目的2 mvn并行安装-Jet Brains不知道这两个多模块的依赖关系,但它并行构建了这两个模块-只是为了成为舒尔。现在-我明白了,将IDE构建/操作委托给Maven的选项有问题,无法使用-可能根本没有用处。我需要的可能是您的建议-仅取消选中“UseMaven输出目录”。我必须注意改变生成的类或多模块结构/依赖项会发生什么。2019.3.2还没有发布。在您提到的罚单中,他们谈论的是2019.3.1版本。在IDEA-224676中,他们声明应在2019.3.1中修复。您是否建议IntelliJ编译器不使用Maven/target目录?我将尝试一下,但这听起来很奇怪…将IDE构建/操作委托给Maven+取消选中“使用Maven输出目录”-可以防止在构建期间并行启动服务器-但如果之前已经编译了所有内容,则会启动整个项目构建-事件。工作区中有两个多模块,这意味着两个项目的2 mvn并行安装-Jet Brains不知道这两个多模块的依赖关系,但它并行构建了这两个模块-只是为了成为舒尔。现在-我明白了,将IDE构建/操作委托给Maven的选项有问题,无法使用-可能根本没有用处。我需要的可能是您的建议-仅取消选中“UseMaven输出目录”。我必须注意在更改生成的类或多模块结构/依赖项时会发生什么。