导入库 Oshi

Import library Oshi

我想开发一个显示计算机信息的程序。 我找到了一个名为 "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);

我做错了什么?

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

内部检查并下载提到的 jar(可能来自 maven central)

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

如果您使用管理依赖项的构建软件(强烈推荐),请单击主 README 页面中的 "Central Repository" link 将为您提供适当的代码以放入您的构建脚本中,并且如果您手动安装它们,让您了解需要哪些版本的 jar。

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