vsch / idea-multimarkdown

Markdown language support for IntelliJ IDEA.
https://plugins.jetbrains.com/plugin/7896-markdown-navigator
Apache License 2.0
813 stars 129 forks source link

NoClassDefFoundError on Plugin initialization #793

Closed vsch closed 4 years ago

vsch commented 4 years ago
vsch commented 4 years ago

Affects IDE/OS combinations which do not have JavaFX in IDE JRE

vsch commented 4 years ago

Suspect that a similar exception but does not identify javafx pair is also fixed by the same code change. The exception also occurs on initialization and only on Linux/Windows for IDEs, and on OS X only for Android Studio which does not bundle JavaFX.

java.lang.NoClassDefFoundError: Could not initialize class com.vladsch.idea.multimarkdown.language.MdCodeStyleSettings
    at com.vladsch.idea.multimarkdown.language.MdNavigatorCodeStyleSettingsProvider.createCustomSettings(MdNavigatorCodeStyleSettingsProvider.java:36)
    at com.intellij.psi.codeStyle.CodeStyleSettings.<init>(CodeStyleSettings.java:91)
    at com.intellij.psi.codeStyle.CodeStyleSettings.<init>(CodeStyleSettings.java:82)
    at com.intellij.psi.codeStyle.ProjectCodeStyleSettingsManager.setMainProjectCodeStyle(ProjectCodeStyleSettingsManager.java:88)
    at com.intellij.psi.codeStyle.ProjectCodeStyleSettingsManager.<init>(ProjectCodeStyleSettingsManager.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:44)
    at com.intellij.serviceContainer.PlatformComponentManagerImpl.instantiateClassWithConstructorInjection(PlatformComponentManagerImpl.kt:505)
    at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:52)
    at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:39)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:110)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:72)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:65)
    at com.intellij.serviceContainer.PlatformComponentManagerImpl.getService(PlatformComponentManagerImpl.kt:288)
    at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:22)
    at com.intellij.psi.codeStyle.CodeStyleSettingsManager.getInstance(CodeStyleSettingsManager.java:45)
    at com.intellij.application.options.CodeStyle.getSettings(CodeStyle.java:45)
    at com.intellij.compiler.impl.MessagesContainer.getTabSize(MessagesContainer.java:43)
    at com.intellij.compiler.impl.MessagesContainer.<init>(MessagesContainer.java:38)
    at com.intellij.compiler.impl.CompileContextImpl.<init>(CompileContextImpl.java:55)
    at com.intellij.compiler.impl.CompileDriver.isUpToDate(CompileDriver.java:106)
    at com.intellij.compiler.CompilerManagerImpl.isUpToDate(CompilerManagerImpl.java:271)
    at com.intellij.compiler.backwardRefs.CompilerReferenceServiceBase.lambda$projectOpened$2(CompilerReferenceServiceBase.java:111)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:238)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
vsch commented 4 years ago

Can confirm that it is the same bug and the fix resolves it.