You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JNI查找accessibilityHitTest失败:这个意外错误提示是什么意思?

Java银行应用accessibilityHitTest错误解析

错误含义

这是macOS环境下Java AWT/Swing组件与系统无障碍服务的兼容性异常:JNI(Java本地接口)在调用系统无障碍API时,找不到accessibilityHitTest方法,最终在AppKit线程抛出java.lang.NoSuchMethodError。

触发原因(无代码变更却出现的核心原因)

  • 系统层面的隐性变更:macOS自动更新了AppKit、HIServices等系统组件,或者系统无障碍服务(如VoiceOver、第三方辅助工具)被启用/更新,导致Java的AWT本地库(libawt_lwawt.dylib、libosxapp.dylib)与系统API版本不匹配。
  • 错误栈显示调用链从系统无障碍服务触发,经过AppKit传递到Java的AWT组件,JNI方法查找失败引发异常。

解决建议

  • 临时关闭无障碍服务:打开「系统设置-辅助功能」,关闭所有启用的无障碍工具(包括系统自带和第三方),重启应用测试。
  • 适配JDK版本:如果使用旧版JDK(如Java 8),升级至对应版本的最新补丁包;或切换为适配当前macOS版本的LTS JDK(如Temurin系列)。
  • 重启系统:清除系统服务缓存,修复可能的临时API调用异常。
  • 禁用Java无障碍支持:启动应用时添加JVM参数-Dapple.awt.accessibilityEnabled=false,屏蔽AWT的无障碍功能,避免触发该调用。

错误日志原文

2022-07-22 09:56:40.685 java[12972:337712] Bad JNI lookup accessibilityHitTest
2022-07-22 09:56:40.686 java[12972:337712] (
    0   libawt_lwawt.dylib                  0x000000013c66dc50 -[CommonComponentAccessibility accessibilityHitTest:] + 180
    1   libawt_lwawt.dylib                  0x000000013c62a78c -[AWTView accessibilityHitTest:] + 176
    2   AppKit                              0x00000001ab58b854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420
    3   AppKit                              0x00000001ab104ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292
    4   AppKit                              0x00000001ab0d2180 CopyElementAtPosition + 160
    5   HIServices                          0x00000001add65340 _AXXMIGCopyElementAtPosition + 364
    6   HIServices                          0x00000001add89e28 _XCopyElementAtPosition + 356
    7   HIServices                          0x00000001add42d50 mshMIGPerform + 204
    8   CoreFoundation                      0x00000001a816d8c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60
    9   CoreFoundation                      0x00000001a816d784 __CFRunLoopDoSource1 + 604
    10  CoreFoundation                      0x00000001a816bc18 __CFRunLoopRun + 2372
    11  CoreFoundation                      0x00000001a816ab34 CFRunLoopRunSpecific + 600
    12  HIToolbox                           0x00000001b0daa338 RunCurrentEventLoopInMode + 292
    13  HIToolbox                           0x00000001b0daa0b4 ReceiveNextEventCommon + 564
    14  HIToolbox                           0x00000001b0da9e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72
    15  AppKit                              0x00000001aacd251c _DPSNextEvent + 860
    16  AppKit                              0x00000001aacd0e14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328
    17  libosxapp.dylib                     0x000000012eb50220 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144
    18  AppKit                              0x00000001aacc2fe0 -[NSApplication run] + 596
    19  libosxapp.dylib                     0x000000012eb4ffd8 +[NSApplicationAWT runAWTLoopWithApp:] + 208
    20  libawt_lwawt.dylib                  0x000000013c68c674 +[AWTStarter starter:headless:] + 488
    21  libosxapp.dylib                     0x000000012eb51c50 +[ThreadUtilities invokeBlockCopy:] + 28
    22  Foundation                          0x00000001a9070f94 __NSThreadPerformPerform + 212
    23  CoreFoundation                      0x00000001a816d044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
    24  CoreFoundation                      0x00000001a816cf90 __CFRunLoopDoSource0 + 208
    25  CoreFoundation                      0x00000001a816cc90 __CFRunLoopDoSources0 + 268
    26  CoreFoundation                      0x00000001a816b610 __CFRunLoopRun + 828
    27  CoreFoundation                      0x00000001a816ab34 CFRunLoopRunSpecific + 600
    28  libjli.dylib                        0x0000000102f8efec CreateExecutionEnvironment + 400
    29  libjli.dylib                        0x0000000102f8b1fc JLI_Launch + 1184
    30  java                                0x0000000102e57bb0 main + 408
    31  dyld                                0x000000010303508c start + 520
)
Exception in thread "AppKit Thread" java.lang.NoSuchMethodError: accessibilityHitTest

内容的提问来源于stack exchange,提问作者Datra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 15:54:17