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
。
私はここからファイルをダウンロードし、それらを resources/sigar-lib の下に追加し、以下を my に追加しようとしました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でEclipse Oxygenを実行しています
プロジェクトのスクリーンショット: