@JFinal 顺便分享下心得为后面的同学铺路,关于 IDEA 的到底进行的是make、compile 、还是build。 1、IDEA 默认是没有提供像 Eclipse 的实时自动编译功能,但是可以通过ctrl+shift+A进入Registry修改配置实现,compiler.automake.allow.when.app.running配置的官方配置说明是:Allow auto-make to start even if developed application is currently running. Note that automatically started make may eventually delete some classes that are required by the application,意思是说:允许在应用运行时开启auto-make功能,但是最终可能会删除一些应用需要的class文件。 2、通过观察每次修改文件触发 IDEA 自动编译,检测target目录中所有class文件状态,可见只有对应修改后的class文件状态发生了变化。 3、通过捕获 IDEA 自动编译时期文件系统的所有状态事件,只有对应修改的class。
综上我的结论是: IDEA 的模式应该还是属于make,只有在java文件变化了才会触发,而且也只针对变化的文件而并非全项目build。但是比较奇葩的是,它不是直接修改对应class文件,而且先删除再创建再修改。( 以上分析基于 IDEA 2018.2.6版本 )
undertow.hotSwapClassPrefix=com.jjiehao.
这个在文档中有过说明