使用javax.accessibility交互其他JVM的Swing应用配置失效问题咨询
排查&解决方案
- 确认当前启动Swing应用使用的JRE路径是否为你修改的
C:\Program Files\Java\jre1.8.0_221:在应用启动参数中添加-Djava.home可打印实际运行的JRE目录,很多设备安装了多版本JRE/JDK,部分应用也会自带私有JRE,会读取自带的配置文件而非全局JRE配置。 - 检查
accessibility.properties文件格式:确保assistive_technologies=Monkey行前后没有多余空格、换行、注释符号,文件保存为无BOM的UTF-8或ANSI编码,不要用带特殊格式的文本编辑器编辑该文件。 - 校验ext目录权限与jar包完整性:
C:\Program Files为系统级保护目录,复制jaccess-examples.jar时需授予管理员权限,否则可能出现文件实际未写入、JRE无法读取jar包的情况。你可以执行jar tf C:\Program Files\Java\jre1.8.0_221\lib\ext\jaccess-examples.jar | findstr Monkey确认Monkey类存在,且全限定名和配置值一致(如果Monkey在指定包下,需填写完整包路径,不能只写类名)。 - 排查启动参数覆盖问题:如果应用启动时设置了
-Djavax.accessibility.assistive_technologies=空值或其他参数,会覆盖配置文件中的全局配置,需删除该类冲突参数。
如果不想修改全局JRE配置,可以直接在应用启动时添加参数临时生效:
java -cp 你的应用类路径;jaccess.jar;jaccess-examples.jar -Dassistive_technologies=Monkey 你的应用主类名
内容的提问来源于stack exchange,提问作者CactusJack
相关产品推荐
相关产品推荐

