Cannot debug plugin with Version 2023.1

已回答

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?

0

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:

> Configure project :
[gradle-intellij-plugin :MultiHighlight] Gradle IntelliJ Plugin is outdated: 1.6.0. Update `org.jetbrains.intellij` to: 1.13.3
extra={android.injected.build.model.only.advanced=true, kotlin.stdlib.default.dependency=false, javaVersion=17, org.gradle.kotlin.dsl.provider.cid=333449754702000, gradleKotlinDsl.projectAccessorsClassPath=AccessorsClassPath(bin=[C:\Users\guangjinhuo\.gradle\caches\7.3\kotlin-dsl\accessors\333e38db577d6c6220deac78de28d425\classes], src=[C:\Users\guangjinhuo\.gradle\caches\7.3\kotlin-dsl\accessors\333e38db577d6c6220deac78de28d425\sources]), org.jetbrains.kotlin.whenEvaluated=[() -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit, () -> kotlin.Unit], android.injected.build.model.only.versioned=3, kotlin.mpp.enableIntransitiveMetadataConfiguration=true, idea.gradle.do.not.build.tasks=false, platformPlugins=, android.injected.build.model.only=true, pluginVersion=3.0.0, pluginSinceBuild=213, kotlin.plugin.loaded.in.projects.1.7.0=:, java.system.class.loader=, pluginName=MultiHighlight, android.injected.build.model.disable.src.download=true, platformVersion=2023.1, android.injected.invoked.from.ide=true, kotlin.compilations.moduleGroups=org.jetbrains.kotlin.gradle.plugin.mpp.internal.KotlinCompilationsModuleGroups@2c4ebb80, android.injected.studio.version=2022.1.1.231.8109.175, kotlin.properties.provider=org.jetbrains.kotlin.gradle.plugin.PropertiesProvider@40f1eeca, gradleVersion=7.3}
idea=task ':setupDependencies'

Upgrade gradle plugin org.jetbrains.intellij from 1.6.0 to 1.13.3, then solve this problem.

0

请先登录再写评论。