You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用OSHI调用get()方法时抛出NoClassDefFoundError问题求助

解决OSHI调用get()方法抛出NoClassDefFoundError的问题

这问题我熟!你遇到的java.lang.NoClassDefFoundError: com/sun/jna/platform/win32/Variant$VARIANT本质是依赖缺失——OSHI本身依赖JNA(Java Native Access)和JNA Platform两个核心库,你只添加了OSHI的独立Jar包,但没把它依赖的JNA相关Jar也加入项目类路径,导致运行时找不到这个关键类。

具体解决步骤:

  • 首先确认你需要补充的两个依赖Jar包(版本要和你使用的OSHI版本匹配,比如OSHI 6.4.0对应JNA 5.13.0):
    • jna-x.x.x.jar
    • jna-platform-x.x.x.jar
  • 在NetBeans中添加这些Jar:
    1. 右键你的项目 → 选择「Properties」(属性)
    2. 左侧导航栏选择「Libraries」(库)
    3. 点击「Add JAR/Folder」,选中下载好的jna.jarjna-platform.jar添加到项目库中
    4. 确保这两个Jar同时出现在「Compile」和「Run」的类路径列表里

额外小提示:

如果不想手动管理Jar包,建议改用Maven或Gradle构建项目,这样会自动拉取OSHI的所有依赖,彻底避免手动漏加的问题。比如Maven的依赖配置如下:

<dependency>
    <groupId>com.github.oshi</groupId>
    <artifactId>oshi-core</artifactId>
    <version>你的OSHI版本号</version>
</dependency>

补全依赖后重新运行你的代码,应该就能正常获取CPU温度这类系统信息了。

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

火山引擎 最新活动