How to Resolve IntelliJ 2023.3 Groovyc ClassNotFoundError After JDK 21 Upgrade

After upgrading to IntelliJ 2023.3 for better JDK 21 virtual‑thread support, users encounter a Groovyc ClassNotFoundError caused by missing IntelliJ internal classes, and the article outlines the affected builds and three practical work‑arounds, including a JVM option to run Groovyc in‑process.

FunTester
FunTester
FunTester
How to Resolve IntelliJ 2023.3 Groovyc ClassNotFoundError After JDK 21 Upgrade

The 2023.3 release of IntelliJ, which improves JDK 21 virtual‑thread support, may fail with a Groovyc compilation error like

java.lang.NoClassDefFoundError: com/intellij/util/containers/IntObjectHashMap$ArrayProducer

. The stack trace shows the failure occurs during the Groovy stub generation phase, indicating that IntelliJ’s internal class loader cannot locate required IntelliJ utility classes.

The issue was first reported on the IntelliJ official forum on December 9 and is linked to the IJPL‑126 migration that replaces custom IntelliJ interfaces with standard JDK APIs.

Affected builds include:

2023.3 Beta (233.11799.6), 2023.3 Beta 2 (233.11799.30), 2023.3 Beta 3 (233.11799.67), 2023.3 RC (233.11799.196), 2023.3 (233.11799.241)

Three possible solutions are provided:

Downgrade IntelliJ to a previous version where the issue does not exist.

Enable the JVM option -Dgroovyc.in.process=true in the shared build process VM options.

Wait for the next IntelliJ update, expected around December 19.

Explanation of the JVM option:

The system property -Dgroovyc.in.process=true tells the Groovy compiler to run inside the current Java process instead of spawning a separate process. Running in‑process can improve performance and reduce resource consumption, especially when Groovy compilation is invoked repeatedly.

However, using this option may affect application behavior, resource usage, and performance characteristics. It is recommended to test thoroughly in the intended environment before adopting it in production.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DebuggingJavaJDK21GroovyBuild ProcessIntelliJ
FunTester
Written by

FunTester

10k followers, 1k articles | completely useless

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.