Sigar, не удается найти зависимые библиотеки org.hyperic.sigar.SigarException

Этот вопрос такой же, как /questions/29870635/orghypericsigarsigarexception-net-sigar-amd64-winntdll-v-javalibrarypath

но после добавления sigar-amd64-winnt.dll в путь я получаю ошибку ниже

org.hyperic.sigar.SigarException: C:\Users\akshay.naik\Documents\shortcuts\sigar-amd64-winnt.dll: Can't find dependent libraries
at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
at monitor.Monitor.main(Monitor.java:8)

Я бегу windows 10, JDK 1.8

0 ответов

Вам просто нужно добавить в системное свойство папку, содержащую необходимую библиотеку dll. Я помещаю их в папку resouces/lib, и вот мой код:

 String property = System.getProperty("java.library.path");
 String path = this.getClass().getClassLoader().getResource(".").getPath();
 path = path + "lib";
 System.setProperty("java.library.path", path + ";" + property);

Выполните приведенный выше код при запуске.

Если вы не используете весеннюю загрузку в качестве фреймворка, вы можете добавить файлы DLL в любую папку и добавить путь к этой папке в это свойство. В Windows 10 пути разделяются знаком ";".

Тогда запустите программу, все заработает!

Я также использую Windows 10, JDK 1.8.

Другие вопросы по тегам