У меня есть проект Maven в Eclipse, где я добавил библиотеку Sigar, используя
<dependency>
<groupId>org.fusesource</groupId>
<artifactId>sigar</artifactId>
<version>1.6.4</version>
</dependency>
Это компилировалось и выполнялось плавно под eclipse. Когда я создал исполняемый файл jar, я получил сообщение об ошибке, что файл .so
не существует в java.library.path.
DEBUG Sigar - no libsigar-amd64-linux.so in java.library.path
org.hyperic.sigar.SigarException: no libsigar-amd64-linux.so in java.library.path
После некоторых исследований и чтения (хорошо, больше, чем некоторые) я скопировал папку lib sigar (ту, которая содержит все файлы .so) в свой проект (я не был уверен, что мне нужно копировать ее в определенное место, поэтому я поместил его в корень проекта) и изменил зависимость maven на это:
<dependency>
<groupId>org.fusesource</groupId>
<artifactId>sigar</artifactId>
<version>1.6.4</version>
<configuration>
<workingDirectory>${project.build.directory}/Sigar_lib</workingDirectory>
<mainClass>my.package.name.MyClass</mainClass>
<includeProjectDependencies>true</includeProjectDependencies>
</configuration>
</dependency>
Пробовал все разные подходы к тегу <workingDirectory>
, с/без каталога сборки, прямой/обратной косой чертой и так далее. Каждый раз, когда банку не удается выполнить с той же ошибкой.
Любая помощь, пожалуйста? Спасибо