Cannot debug plugin with Version 2023.1
Answered
I am developing a plugin for IntelliJ since several years. So far, I was using platform SDK for version 2021.3 with Java 11. I need to switch to the newest version 2023.1 now but I cannot debug it because it won't start with the following message:
OpenJDK 64-Bit Server VM warning: Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "com.intellij.util.lang.PathClassLoader"). To use archived non-system classes, this property must not be set
Error occurred during initialization of VM
java.lang.NoClassDefFoundError: com/intellij/util/lang/UrlClassLoader
at java.lang.ClassLoader.defineClass1(java.base@17.0.6/Native Method)
at java.lang.ClassLoader.defineClass(java.base@17.0.6/ClassLoader.java:1012)
at java.security.SecureClassLoader.defineClass(java.base@17.0.6/SecureClassLoader.java:150)
at jdk.internal.loader.BuiltinClassLoader.defineClass(java.base@17.0.6/BuiltinClassLoader.java:862)
at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(java.base@17.0.6/BuiltinClassLoader.java:760)
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(java.base@17.0.6/BuiltinClassLoader.java:681)
at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@17.0.6/BuiltinClassLoader.java:639)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@17.0.6/ClassLoaders.java:188)
at java.lang.ClassLoader.loadClass(java.base@17.0.6/ClassLoader.java:520)
at java.lang.Class.forName0(java.base@17.0.6/Native Method)
at java.lang.Class.forName(java.base@17.0.6/Class.java:467)
at java.lang.ClassLoader.initSystemClassLoader(java.base@17.0.6/ClassLoader.java:1981)
at java.lang.System.initPhase3(java.base@17.0.6/System.java:2246)
Caused by: java.lang.ClassNotFoundException: com.intellij.util.lang.UrlClassLoader
at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@17.0.6/BuiltinClassLoader.java:641)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@17.0.6/ClassLoaders.java:188)
at java.lang.ClassLoader.loadClass(java.base@17.0.6/ClassLoader.java:520)
at java.lang.ClassLoader.defineClass1(java.base@17.0.6/Native Method)
at java.lang.ClassLoader.defineClass(java.base@17.0.6/ClassLoader.java:1012)
at java.security.SecureClassLoader.defineClass(java.base@17.0.6/SecureClassLoader.java:150)
at jdk.internal.loader.BuiltinClassLoader.defineClass(java.base@17.0.6/BuiltinClassLoader.java:862)
at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(java.base@17.0.6/BuiltinClassLoader.java:760)
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(java.base@17.0.6/BuiltinClassLoader.java:681)
at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@17.0.6/BuiltinClassLoader.java:639)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@17.0.6/ClassLoaders.java:188)
at java.lang.ClassLoader.loadClass(java.base@17.0.6/ClassLoader.java:520)
at java.lang.Class.forName0(java.base@17.0.6/Native Method)
at java.lang.Class.forName(java.base@17.0.6/Class.java:467)
at java.lang.ClassLoader.initSystemClassLoader(java.base@17.0.6/ClassLoader.java:1981)
at java.lang.System.initPhase3(java.base@17.0.6/System.java:2246)
Process finished with exit code 1
I added a new platform SDK with the downloaded IntelliJ Community Edition as path and "Azul JDK 17.0.6" as "Internal Java Platform"
Sandbox Home is "C:\Users\Thomas\AppData\Local\JetBrains\IdeaIC2023.1\plugins-sandbox"
In "Run/Debug configuration" I tried "Default" as well as the newly created platform SDK as "JRE", but it makes no difference.
I even tried creating a new project on a different computer with the same result.
Any idea what could be going wrong?
Please sign in to leave a comment.
Setup via DevKit model has currently some problems https://youtrack.jetbrains.com/issue/IDEA-302414
We strongly recommend switching to Gradle setup https://plugins.jetbrains.com/docs/intellij/migrating-plugin-devkit-to-gradle.html
I upgrade the platformVersion from 2021.3 to 2023.1 and javaVersion from 11 to 17, then meet the same error when runing "runIde" task.
But my plugin uses gradle build, repo: https://github.com/huoguangjin/MultiHighlight.
At last, I found a warning when gradle sync:
Upgrade gradle plugin org.jetbrains.intellij from 1.6.0 to 1.13.3, then solve this problem.