With IJ 241.9959.31, plugin fails to load all necessary classes:
Execution failed for task ':plugin:core:generatePerl5Parser'.
> Exception in thread "main" java.lang.NoClassDefFoundError: io/opentelemetry/api/trace/Tracer
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at com.intellij.platform.diagnostic.telemetry.NoopTelemetryManager.getTracer(TelemetryManager.kt:137)
at com.intellij.openapi.progress.impl.CoreProgressManager.<clinit>(CoreProgressManager.java:49)
at com.intellij.core.CoreApplicationEnvironment.createProgressIndicatorProvider(CoreApplicationEnvironment.java:142)
at com.intellij.core.CoreApplicationEnvironment.<init>(CoreApplicationEnvironment.java:109)
at com.intellij.core.CoreApplicationEnvironment.<init>(CoreApplicationEnvironment.java:72)
at org.intellij.grammar.LightPsi$MyParsing.<init>(LightPsi.java:152)
at org.intellij.grammar.LightPsi.<clinit>(LightPsi.java:55)
at org.intellij.grammar.Main.main(Main.java:38)
Caused by: java.lang.ClassNotFoundException: io.opentelemetry.api.trace.Tracer
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 26 more
This is because some classes were moved to a new opentelemetry.jar library, which is not listed in requiredLibs:
|
val requiredLibs = listOf( |
|
"app", "lib", "jdom", "trove4j", "junit", "guava", "asm-all", "automaton", "platform-api", "platform-impl", |
|
"util", "util_rt", "annotations", "picocontainer", "extensions", "idea", "openapi", "grammar-kit", |
|
"platform-util-ui", "platform-concurrency", "intellij-deps-fastutil", |
|
// CLion unlike IDEA contains `MockProjectEx` in `testFramework.jar` instead of `idea.jar` |
|
// so this jar should be in `requiredLibs` list to avoid `NoClassDefFoundError` exception |
|
// while parser generation with CLion distribution |
|
"testFramework", "3rd-party", |
|
) |
Use the data from the product-info.json file delivered with IJ dependency to avoid such problems.
The missing jar is present in:
launch[].bootClassPathJarNames, so it'll be necessary to discover the proper OS and architecture, like it's done in IntelliJ Platform Gradle Plugin 2.0
With IJ
241.9959.31, plugin fails to load all necessary classes:This is because some classes were moved to a new
opentelemetry.jarlibrary, which is not listed inrequiredLibs:gradle-grammar-kit-plugin/src/main/kotlin/org/jetbrains/grammarkit/GrammarKitPlugin.kt
Lines 50 to 58 in 951065f
Use the data from the
product-info.jsonfile delivered with IJ dependency to avoid such problems.The missing jar is present in:
launch[].bootClassPathJarNames, so it'll be necessary to discover the proper OS and architecture, like it's done in IntelliJ Platform Gradle Plugin 2.0