IntelliJ Ideas,不管在不相关的项目文件中有什么错误,都要运行代码

我在 Eclipse 中遗漏的一点是,如果项目中一些完全不相关的文件包含错误,我就不能运行代码来测试各种事情(想想 short main ())。我已经在 FAQ 中读到,我可以使用 Eclipse 编译器和-procedOnError 参数,但它仍然不能工作。临时修复未完成的代码来编译并不是我真正想要的。

我应该注意到我也使用 Scala 插件,但是我的大部分代码仍然是 Java 文件。

50927 次浏览

Well, you can do it. The important part, of course, that the class with the main function compiles.

There are two ways you can go:

  1. Compile the class that you want to run only (CTRL Shift F9). Run the main function with a right click. It will fail, but IntelliJ will automagically create a temporary running configuration for this main function. Now edit this configuration and uncheck the option to "Make before launch". Then go back to the file and launch the main as before.
  2. Go to the configurations screen, then Defaults and then Application pane. Uncheck the "Make before launch" option and then you're good to go, as in section one, for any main function you'll encounter/create in this project.

Edit

This answer is outdated, and @ipandzic's answer should be used

Modify your configuration to use Make, no error check option instead of Make.

For more information see this answer

Note that this may not be enough in your use case. Last resort is to use the solution provided by Vics answer.

As this answer suggests (https://stackoverflow.com/a/14793361/986160) you can use Settings > Build,Execution,Deployment > Compilers > Excludes and add the parts of the projects that are unrelated to be excluded from compilation. Make sure that the part you are trying to run doesn't have imports from those excludes.

For whatever reason, none of the above solutions worked for me, on my large legacy Gradle project. However, the error that I had was just because some method in IntelliJ wasn't wired up correctly (i.e. no obvious compilation errors with other areas of the code). As such, I ended up running gradle clean build idea which worked for my purposes. After that, my test class ran without issue.

  1. Edit the configuration.

enter image description here

  1. With latest versions of IntelliJ, we need to remove the build from 'make before launch' option by clicking '-'. Below is the screenshot.

enter image description here