0x00.现象

  1. 软件版本
    • IntelliJIdea2021.2
    • JRebel and XRebel for IntelliJ 2022.1.0
  2. IntelliJIdea升级到2023.2后启动报错,错误信息如下:
    Internal error. Please refer to https://jb.gg/ide/critical-startup-errors
    
    java.lang.NoClassDefFoundError: org/apache/log4j/spi/RootLogger
        at com.zeroturnaround.javarebel.idea.plugin.logger.IdeaLog.initComponent(IdeaLog.java:57)
        at com.intellij.serviceContainer.MyComponentAdapter.doCreateInstance(MyComponentAdapter.kt:45)
        at com.intellij.serviceContainer.BaseComponentAdapter.doCreateInstance(BaseComponentAdapter.kt:158)
        at com.intellij.serviceContainer.BaseComponentAdapter.createInstance(BaseComponentAdapter.kt:137)
        at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:94)
        at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:79)
        at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt:404)
        at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt:402)
        at com.intellij.ide.bootstrap.AppServicePreloadingKt$postAppRegistered$3$1.invokeSuspend(appServicePreloading.kt:142)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
        at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:322)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
    Caused by: java.lang.ClassNotFoundException: org.apache.log4j.spi.RootLogger PluginClassLoader(plugin=PluginDescriptor(name=JRebel and XRebel for IntelliJ, id=JRebelPlugin, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\IntelliJIdea2023.2\plugins\jr-ide-idea, version=2022.1.0, package=null, isBundled=false), packagePrefix=null, state=active)
        at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:156)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        ... 25 more
    
    -----
    Your JRE: 17.0.10+7-b1000.50 amd64 (JetBrains s.r.o.)
    C:\Program Files\JetBrains\IntelliJ IDEA 2023.2.7\jbr
    

0x01. 解决办法

  1. 打开文件路径~\AppData\Roaming\JetBrains\IntelliJIdea2023.2\plugins,删除插件目录jr-ide-idea,重新启动Idea