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.