我正在尝试在Java Maven应用程序中使用Sigar,我添加了以下依赖项:
<dependency>
<groupId>org.fusesource</groupId>
<artifactId>sigar</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.4.0</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>4.4.0</version>
</dependency>
但是在异常之后抛出了它:
org.hyperic.sigar.SigarException: no libsigar-amd64-linux.so in java.library.path
at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
at com.ro.terminal.model.utils.TerminalUtils.<clinit>(TerminalUtils.java:28)
at com.ro.terminal.model.service.SyncModule.init(SyncModule.java:187)
at com.ro.terminal.main.Terminalinitializer.<init>(Terminalinitializer.java:124)
at com.ro.terminal.main.Terminalinitializer$3.call(Terminalinitializer.java:339)
at com.ro.terminal.main.Terminalinitializer$3.call(Terminalinitializer.java:1)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.lang.Thread.run(Thread.java:748)
谷歌搜索后,我知道我必须在应用程序中添加所需的.ddl
和.so
文件,并将路径添加到java.library.path
,
我从here下载了文件,并将它们添加到resources / sigar-lib下,并尝试将以下内容添加到我的pom.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<systemPropertyVariables>
<org.hyperic.sigar.path>${sigar.libs}</org.hyperic.sigar.path>
</systemPropertyVariables>
<parallel>classes</parallel>
</configuration>
</plugin>
___________________________
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<java.library.path>${sigar.libs}</java.library.path>
</systemPropertyVariables>
</configuration>
</plugin>
______________________
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Djava.library.path=${sigar.libs}:${java.library.path}</argLine>
</configuration>
</plugin>
${sigar.libs}
定义如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<sigar.libs>${basedir}/src/main/resources/sigar-lib</sigar.libs>
<build.timestamp>${maven.build.timestamp}</build.timestamp>
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
</properties>
我在做错了什么?我在Ubuntu 17.10上运行日食氧气
项目截图: