IntelliJ Idea, run code regardless of errors in unrelated project files
One thing that I miss from Eclipse is that I can't run code for testing various things (think short main()) if some totally unrelated files in my project contain errors. I've read in FAQ that I can use Eclipse compiler with -proceedOnErrors argument but it still doesn't work. Temporarily fixing unfinished code to compile is not really what I want.
I should note that I use Scala plugin too but still majority of my code are Java files.
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.
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:
- 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 thismain
function. Now edit this configuration and uncheck the option to "Make before launch". Then go back to the file and launch themain
as before. - 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
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.
- Edit the configuration.
- With latest versions of IntelliJ, we need to remove the build from 'make before launch' option by clicking '-'. Below is the screenshot.
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.