上周五在公司环境下安装2022.3.3试下jdk17的

原来版本2020.3.2不支持jdk17

安装后打开老是报错搞了大半天记录下

问题一:

Internal error. Please refer to https://jb.gg/ide/critical-startup-errors

com.intellij.ide.plugins.PluginManagerCore$EssentialPluginMissingException: Missing essential plugins: com.intellij (platform prefix: null)
at com.intellij.ide.plugins.PluginManagerCore.initializePlugins(PluginManagerCore.java:769)
at com.intellij.ide.plugins.PluginManagerCore.initializeAndSetPlugins(PluginManagerCore.java:1043)
at com.intellij.ide.plugins.PluginDescriptorLoader$scheduleLoading$pluginSetDeferred$1.invokeSuspend(PluginDescriptorLoader.kt:397)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

—–
Your JRE: 17.0.6+1-b653.34 amd64 (JetBrains s.r.o.)

D:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\jbr

测试:

直接找对应的用户缓存目录下对应idea版本删除

C:\Users\DELL\AppData\Roaming\JetBrains下面对应的idea版本文件夹删除

问题2:启动后报错

Internal error. Please refer to https://jb.gg/ide/critical-startup-errors

com.intellij.ide.plugins.PluginManagerCore$EssentialPluginMissingException: Missing essential plugins: com.intellij (platform prefix: null)
at com.intellij.ide.plugins.PluginManagerCore.initializePlugins(PluginManagerCore.java:769)
at com.intellij.ide.plugins.PluginManagerCore.initializeAndSetPlugins(PluginManagerCore.java:1043)
at com.intellij.ide.plugins.PluginDescriptorLoader$scheduleLoading$pluginSetDeferred$1.invokeSuspend(PluginDescriptorLoader.kt:397)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

—–
Your JRE: 17.0.6+1-b653.34 amd64 (JetBrains s.r.o.)
D:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\jbr

C:\Users\DELL\AppData\Roaming\JetBrains\IntelliJIdea2022.3

idea64.exe.vmoptions
去掉
-javaagent:C:\Users\Public\.BetterIntelliJ\BetterIntelliJ-1.16.jar

3.重新打开又有新的问题

Internal error. Please refer to https://jb.gg/ide/critical-startup-errors

java.lang.RuntimeException: Cannot invoke (class=ao, method=appFrameCreated, topic=AppLifecycleListener)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:639)
at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:395)
at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:374)
at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:433)
at jdk.proxy1/jdk.proxy1.$Proxy52.appFrameCreated(Unknown Source)
at com.intellij.idea.IdeStarter.openProjectIfNeeded$suspendImpl(IdeStarter.kt:91)
at com.intellij.idea.IdeStarter.openProjectIfNeeded(IdeStarter.kt)
at com.intellij.idea.IdeStarter$start$2.invokeSuspend(IdeStarter.kt:72)
at com.intellij.idea.IdeStarter$start$2.invoke(IdeStarter.kt)
at com.intellij.idea.IdeStarter$start$2.invoke(IdeStarter.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
at com.intellij.idea.IdeStarter.start$suspendImpl(IdeStarter.kt:70)
at com.intellij.idea.IdeStarter.start(IdeStarter.kt)
at com.intellij.idea.ApplicationLoader.initApplicationImpl(ApplicationLoader.kt:169)
at com.intellij.idea.ApplicationLoader.access$initApplicationImpl(ApplicationLoader.kt:1)
at com.intellij.idea.ApplicationLoader$initApplicationImpl$1.invokeSuspend(ApplicationLoader.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: java.lang.NoClassDefFoundError: com/intellij/ide/util/PropertiesComponentImpl
at fuck_you.an.a(Unknown Source)
at fuck_you.ao.appFrameCreated(Unknown Source)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:655)
at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:625)
… 23 more
Caused by: java.lang.ClassNotFoundException: com.intellij.ide.util.PropertiesComponentImpl PluginClassLoader(plugin=PluginDescriptor(name=BetterIntelliJ, id=org.example.BetterIntelliJ, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\IntelliJIdea2022.3\plugins\BetterIntelliJ, version=1.16, package=null, isBundled=false), packagePrefix=null, instanceId=87, state=active)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:217)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
… 27 more

—–
Your JRE: 17.0.6+1-b653.34 amd64 (JetBrains s.r.o.)
D:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\jbr

参考解决方法:

Directories used by the IDE | IntelliJIDEA Documentation

将缓存目录下的plugin对应提示错误的BetterIntelliJ目录删除

D:\Program Files\JetBrains\IntelliJ IDEA 2022.3.3\plugin目录里面

正常启动