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

Arch Linux下启动Weka 3.8.6 GUI遇InvocationTargetException错误求解决

解决Arch Linux上Weka 3.8.6启动GUI的错误

核心问题

Weka 3.8.6为旧版本,与Arch Linux默认的JDK 17+存在多处兼容性冲突:

  • JDK 17已彻底移除废弃的Security Manager,Weka 3.8.6仍调用相关API
  • JDK 9引入的模块系统限制反射访问,导致类加载权限报错
  • 缺少mtj(Matrix Toolkit Java)依赖库,触发ClassNotFoundException

解决方法

方法1:使用兼容的JDK 8(推荐)

Weka 3.8.6原生适配JDK 8,操作步骤:

  1. 安装JDK 8:
    sudo pacman -S jdk8-openjdk
    
  2. 切换到JDK 8启动Weka:
    archlinux-java set java-8-openjdk
    java -jar weka.jar
    
  3. 启动完成后可切回默认JDK:
    archlinux-java set java-17-openjdk  # 替换为你的默认JDK版本
    

方法2:修复依赖并添加JVM参数(适配新版JDK)

  1. 安装缺失的mtj依赖:
    sudo pacman -S mtj
    
  2. 用完整JVM参数启动Weka:
    java --add-opens java.base/java.lang=ALL-UNNAMED \
         --add-opens java.base/java.lang.reflect=ALL-UNNAMED \
         --add-opens java.base/java.security=ALL-UNNAMED \
         -Djava.security.manager=allow \
         -jar weka.jar
    
    参数说明:
    • --add-opens:解除JDK模块系统对反射访问的限制
    • -Djava.security.manager=allow:禁用安全管理器(JDK 17允许的临时兼容方式)

方法3:升级Weka到最新稳定版

Weka 3.9.x及以上版本已适配新版JDK,可直接安装最新版规避兼容性问题:

# 通过AUR安装(需提前配置AUR助手)
yay -S weka

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:53:18