Я пытаюсь собрать системную информацию с помощью SIGAR API. После включения sigar.jar в мою библиотеку Netbeans выдал ошибку, что sigar-amd64-winnt.dll
не найден. После добавления этого файла в библиотеку все заработало отлично.
Теперь мне нужно было создать исполняемый файл jar, поэтому я использовал NetBeans для сборки своего проекта. Netbeans автоматически удалил файл .dll, и после того, как я вручную скопировал его обратно в папку dist, моя программа заработала. Сейчас я пытаюсь создать исполняемый файл с помощью Launch4j. Когда я запускаю его, возникает исключение Java, вероятно, потому, что Launch4j удалил файл .dll.
Как я могу убедиться, что Launch4j включает его в исполняемый файл?
Я просмотрел множество ответов на SO, но не смог решить свою проблему. Упомянули некоторые ниже-
sigar-amd64-winnt.dll ... не может ссылаться на него или связывать его с .jar
Как включить SIGAR API в проект Java
Любая помощь будет оценена.
ИЗМЕНИТЬ
Launch4j дает следующее исключение в своем журнале, когда я тестирую запуск exe-оболочки:
Exception in thread "main" java.lang.NoClassDefFoundError: org/hyperic/sigar/SigarException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hyperic.sigar.SigarException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more