报错概述
昨天学弟遇到了如标题所示的Idea报错问题,如果操作不当,可能导致Idea报错无法运行,针对这个问题,作此篇文章记录一下。
首先看一下报错内容:
java.util.concurrent.CompletionException: org.picocontainer.PicoRegistrationException: Key com.kagof.intellij.plugins.pokeprogress.configuration.PokemonProgressState duplicated
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
at com.intellij.idea.ApplicationLoader$initApplication$2.accept(ApplicationLoader.kt:387)
at com.intellij.idea.ApplicationLoader$initApplication$2.accept(ApplicationLoader.kt)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:143)
at com.intellij.idea.ApplicationLoader.initApplication(ApplicationLoader.kt:384)
错误分析
要想解决Idea报错的问题,首先要先了解报了什么错,即Exception的类型及大意。针对这个错误,我们需要先明白它的大概意思。
java.util.concurrent.CompletionException:org.picocontainer.PicoRegistrationException:Key com.kagof.intellij.plugins.pokeprogress.configuration.PokemonProgressState duplicated
这个错误是指出在你的 IntelliJ IDEA 插件或配置中存在一个组件(这里是 PokemonProgressState)的注册键被重复使用了。这个问题通常发生在插件开发或插件配置过程中,特别是当多个插件或插件的不同部分尝试注册相同的组件时。
打开Idea–>File–>Settings–>Plugins–>搜索progress,如下图:
写到这里,我们就定位到了Idea报错是什么原因导致的。那么我们要如何解决这个问题呢?
解决问题
如果出现了这个问题,会导致双击Idea打不开,这个时候我们更新或重新安装插件就不太能解决这个问题,毕竟我们是打不开Idea的。检查 IntelliJ IDEA 的插件兼容性,这个显然也不是最简单的解决方法。最简单的做法就是哪里出现问题就干掉哪里。
第一步,找到学弟的Idea插件安装目录,由于他安装了好几个版本的Idea,实在是很难找到,于是下载了个Everything来辅助我们找到目录(搜索关键字\AppData\Roaming\JetBrains\)。
第二步,直接定位到安装Idea插件的文件夹。
C:\Users\86188\AppData\Roaming\JetBrains\IntelliJIdea2021.1\plugins
最后一步,右键删除Pokemon特效插件即可。重启Idea运行即可。
本篇文章到这里就结束了,感谢各位小伙伴们的支持!