Android 插件开发ClassNotFoundException: com.intellij.openapi.util.SystemInfoRt 问题解决

文章讲述了在使用AndroidStudioElectralEel版本时,遇到`SystemInfoRt`类找不到的错误。问题源于GradleIntelliJPlugin版本过旧,通过更新至1.5.2版本解决了这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

Android Studio Electral Eel

IntelliJ IDEA 2021.3.1 (Community Edition)

初始插件版本配置:

plugins {
  id 'java'
  id 'org.jetbrains.intellij' version '1.1.4' // Intellij 203 及以上版本 (Android Studio Arctic Fox)
  id 'org.jetbrains.kotlin.jvm' version '1.8.10'
}

出现问题:

在runIde时出现如下报错:Caused by: java.lang.ClassNotFoundException: com.intellij.openapi.util.SystemInfoRt

此时编译是成功的,但是启动时发生了问题,问题出现在拉起调试版本的Android Studio时

问题解决

参考:java.lang.NoClassDefFoundError: com/intellij/openapi/util/SystemInfoRt when running plugin using 221.5080-EAP-CANDIDATE-SNAPSHOT : IDEA-291192 (jetbrains.com)

Gradle IntelliJ Plugin中出的问题,在这次提交后得到修复,对应版本为1.5.2,详细内容可以参考这词提交

结论:

更新Gradle IntelliJ Plugin插件版本如下:

id 'org.jetbrains.intellij' version '1.5.2'

### 解决 IntelliJ IDEA 中 `com.intellij.util.lang.PathClassLoader` 的 `ClassNotFoundException` 当遇到 `java.lang.NoClassDefFoundError` 或者 `ClassNotFoundException` 错误时,通常意味着某些必要的类在运行时未能被正确加载。对于特定于 IntelliJ IDEA 的情况,特别是涉及 `com.intellij.util.lang.PathClassLoader` 和 `com.intellij.ide.util.PropertiesComponentImpl` 类的情况,可以采取以下措施来解决问题。 #### 验证插件兼容性 如果问题是由于第三方插件(如 BetterIntelliJ 插件)引起,则建议禁用该插件并测试 IDE 是否恢复正常工作[^1]。这有助于确认问题确实由插件引发,并可防止进一步的冲突发生。 #### 清理项目配置 执行 Maven Clean 命令可以帮助清除旧构建数据,从而减少潜在的依赖项冲突。此外,移除 `.idea` 文件夹能够重置项目的设置到初始状态,这对于解决因本地缓存损坏而导致的问题非常有效[^2]: ```bash mvn clean install rm -rf .idea/ ``` #### 设置环境变量 确保已正确定义了 `JAVA_HOME` 环境变量指向 JDK 安装路径。虽然有时不需要显式设定 CLASSPATH 变量,但在命令行下通过 `-classpath` 参数传递额外库的位置也是一种解决方案[^3]: ```shell export JAVA_HOME=/path/to/jdk java -classpath ".;$JAVA_HOME/lib/tools.jar;$JAVA_HOME/lib/dt.jar" YourMainClass ``` 请注意,在 Windows 上应使用分号(`;`)作为路径分隔符,而在 Unix/Linux/MacOS 则需采用冒号(`:`)。 #### 更新或重新安装IDEA 访问官方支持页面报告此错误的同时也提供了有关如何处理启动失败的信息。按照指示更新至最新版本或将应用程序完全卸载后再全新安装可能是最终的选择之一[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值