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

Eclipse中Java项目引入Oshi库遇ClassNotFoundException问题求助

Oshi库ClassNotFoundException问题排查与解决

问题原因分析

出现ClassNotFoundException通常有以下两种核心原因:

  • 依赖未正确加入类路径:即使下载了oshi-core jar,若未将其(及依赖包)正确添加到项目的类路径中,JVM运行时找不到对应的类文件。
  • 缺失传递依赖:Oshi-core并非独立运行的库,它依赖多个第三方库(如JNA、日志组件等),仅单独引入oshi-core jar会导致依赖缺失。

正确的依赖配置方式

1. Maven自动管理推荐

直接在项目的pom.xml中添加以下依赖,Maven会自动下载oshi-core及其所有传递依赖,无需手动处理:

<dependency>
    <groupId>com.github.oshi</groupId>
    <artifactId>oshi-core</artifactId>
    <version>6.3.1</version>
</dependency>

2. 手动添加Jar包(不推荐)

若必须手动导入,需同时引入以下所有Jar包:

  • oshi-core-6.3.1.jar
  • slf4j-api-1.7.36.jar(日志接口依赖)
  • commons-lang3-3.12.0.jar(工具类依赖)
  • commons-math3-3.6.1.jar(数学计算依赖)
  • jna-5.12.1.jar(Java本地调用核心依赖)
  • jna-platform-5.12.1.jar(JNA平台扩展依赖)

验证与修复步骤

  1. 检查类路径配置:在IDE中确认所有必要Jar包已添加到项目库中。比如IDEA可通过File > Project Structure > Libraries查看,Eclipse通过Project Properties > Java Build Path > Libraries检查。
  2. 清理重建项目:执行项目清理操作(如Maven的mvn clean install命令),清除缓存后重新构建项目,避免依赖缓存导致的加载异常。
  3. 确认代码导入正确:确保代码中导入的Oshi类包路径正确:
import oshi.SystemInfo;
import oshi.hardware.CentralProcessor;
import oshi.hardware.HardwareAbstractionLayer;

public class HardwareInfoTest {
    public static void main(String[] args) {
        SystemInfo systemInfo = new SystemInfo();
        HardwareAbstractionLayer hardware = systemInfo.getHardware();
        CentralProcessor processor = hardware.getProcessor();
        System.out.println(processor.toString());
    }
}

内容的提问来源于stack exchange,提问作者Hans Ricardo Davila Acuña

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:55:28