2015-12-03 6 views
2

Я хотел бы разработать программу, которая отображает информацию о компьютере. Я нашел библиотеку под названием "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); 

Что я сделал не так?

ответ

1

У Oshi есть некоторые зависимости, которые вам понадобятся для загрузки и добавления в ваш путь к классу. Проверьте https://github.com/dblock/oshi/blob/master/pom.xml

Внутри проверку и скачать упомянутые банки (от Maven центрального возможно)

1

Я один из главных разработчиков для Оши. Как говорит @Jan, вам нужны некоторые зависимости. В частности вам понадобится Java Native Access (JNA) и система регистрации, которая реализует slf4j.

Если вы используете программное обеспечение для сборки, которое управляет зависимостями (настоятельно рекомендуется), щелкнув ссылку «Центральный репозиторий» с главной страницы README, вы получите соответствующий код для ввода сценария сборки, а также предоставите представление о том, какие версии которые вам нужны, если вы их вручную устанавливаете.