解决Charles突然无法启动的问题
问题现象
- 双击Charles无任何反应
- 重装后问题依旧存在
- 新安装后首次就无法启动
错误排查步骤
- 通过命令行启动定位问题:
cd "c:\Program Files\Charles"
Charles.exe
- 观察报错信息(关键错误):
C:\Program Files\Charles>java.awt.AWTError: Assistive Technology not found: com.sun.java.accessibility.AccessBridge
at java.desktop/java.awt.Toolkit.newAWTError(Unknown Source)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Unknown Source)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Unknown Source)
at de.sciss.syntaxpane.DefaultSyntaxKit.<clinit>(DefaultSyntaxKit.java:105)
at com.xk72.charles.gui.lib.UIUtils.<clinit>(Unknown Source)
at com.xk72.charles.gui.Main.beZk(Unknown Source)
at com.xk72.charles.Main.VPvq(Unknown Source)
at com.xk72.charles.gui.Main.main(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.xk72.lib.yHTo.VPvq(Unknown Source)
at com.xk72.charles.gui.MainWithClassLoader.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.java.accessibility.AccessBridge
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
... 23 more
问题根源
Java Access Bridge(Java辅助功能桥接库)配置异常:
- 该组件通常随JRE自动安装
- 开发环境可能只有JDK未包含完整配置
- 用户目录下的配置文件可能导致冲突:
C:\Users\<current_user>\.accessibility.properties
解决方案
方法1:删除配置文件
del C:\Users\%USERNAME%\.accessibility.properties
方法2:注释配置内容(推荐)
- 用文本编辑器打开配置文件
- 在所有行首添加
#
注释符
验证结果
重新启动Charles应用,应能正常打开
额外说明:
- 推荐优先使用方法2,可作为问题回退方案
- 本方案适用于Windows系统,macOS/Linux用户需查找对应系统路径