因为是初次在 IDEA 运行 main 方法 对 IDEA 运行 main 方法的方式不熟悉 一直在摸索,加上项目编译报错。在执行过程中走过一些弯路,幸好在摸索中找到了解决方法,如果您有更好的解决方法 欢迎在评论区留言。

Main执行过程

在使用 IDEA 开发过程中进行代码测试时,发现 IDEA 上的 main 执行有所区别于 Eclipse 。 当我直接在 Java 类中右击运行 Debug

idea main方法设置java运行参数 idea运行main方法编译整个项目_main方法

Dubug 执行 main 方法后编译整个项目!!!

idea main方法设置java运行参数 idea运行main方法编译整个项目_main方法_02

而且 编译缓慢 编译过程中 报错 ,原因是编译整个项目时发现有些 Java 代码缺类编译不通过。

idea main方法设置java运行参数 idea运行main方法编译整个项目_无法加载_03

于是我准备将一个个编译错误的代码进行手动修改,但项目中有问题的代码实在是太多了......

有没有方法可以不编译有问题的代码呢?毕竟我只是执行一个main方法,编译整个项目原本就累赘再手动改编译代码,整个人疯了。

一个个去修复的话没有任何意义,该怎么解决编译的问题呢?在部署 Tomcat Web 项目的时候通过配置绕过编译报错检查。那么执行 main 方法是不是也可以绕过编译报错呢 ?

经过一番搜索(看别人博客的相关问题总结) ,发现在配置 Application 模板里面可以设置 Before launch

idea main方法设置java运行参数 idea运行main方法编译整个项目_编译报错_04

将模板中的 Before launchBuild 删除,点击 Apply -> OK

idea main方法设置java运行参数 idea运行main方法编译整个项目_编译报错_05

好了,现在再次尝试页面上的 Debug 执行,测试结果输出如下:

idea main方法设置java运行参数 idea运行main方法编译整个项目_main方法_06

终于好了,不用编译整个项目啦!突然的内心满足。

执行前编译

为了证明这个设置是正确的,当我修改 main 方法 准备验证再次执行,结果又这样了:

错误: 找不到或无法加载主类

idea main方法设置java运行参数 idea运行main方法编译整个项目_无法加载_07

这个错误提示比较明显,无法加载主类。那么如果我在执行方法前编译这个类再执行不就没问题啦,把鼠标移动至工具栏 Build,重新编译:

idea main方法设置java运行参数 idea运行main方法编译整个项目_main方法_08

再次执行main方法 成功输出预期结果

idea main方法设置java运行参数 idea运行main方法编译整个项目_无法加载_09

问题总结

编译整个项目的问题最关键是 设置 Application 模板配置 。将执行前编译关闭,直接设置执行模式,防止编译整个项目。并且在执行 main 方法前要编译对应类方能输出测试结果, 一旦修改过 main 方法后需要点击工具栏 Build 重新编译类方法再执行。