4

我想开发一个显示计算机信息的程序。我找到了一个名为“Oshi”的图书馆。当我导入这个库并运行我的代码时,出现了一个异常:

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Platform
at oshi.SystemInfo.<init>(SystemInfo.java:40)
at Main.main(Main.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more

我想运行这段代码:

SystemInfo si = new SystemInfo();
OperatingSystem os = si.getOperatingSystem();
System.out.println(os);

我做错了什么?

4

3 回答 3

2

Oshi 有一些依赖项,你需要下载并添加到你的类路径中。查看 https://github.com/dblock/oshi/blob/master/pom.xml

内部检查并下载提到的罐子(可能来自 maven Central)

于 2015-12-03T08:40:49.563 回答
2

我是 Oshi 的主要开发人员之一。正如@Jan 所说,您需要一些依赖项。具体来说,您需要Java Native Access (JNA)和实现 slf4j 的日志记录系统。

如果您使用管理依赖项的构建软件(强烈推荐),单击主 README 页面中的“中央存储库”链接将为您提供适当的代码以放入构建脚本,并让您了解您的 jars 版本如果您手动安装它们,则需要。

于 2016-01-09T06:52:26.220 回答
0

您必须添加此库:
jna -5.1.0.jar jna
-platform-5.1.0.jar
slf4j仅使用slf4j-api-1.7.25.jarslf4j-simple-1.7.25.jar

于 2018-12-06T13:01:21.897 回答