Maven - 使用Sigar和Java

时间:2018-03-21 12:25:21

标签: java maven sigar

我正在尝试在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上运行日食氧气

项目截图:

enter image description here

0 个答案:

没有答案