2013-04-28 102 views
5

我目前正試圖在Maven的構建中使用SIGAR,並說每次:使用SIGAR與Maven

「org.hyperic.sigar.SigarException:在java中libsigar-x86-linux.so。 library.path「

我已經安裝了Sigar來使用mvn安裝maven:install-file -DgroupId = org.hyperic -DartifactId = sigar -Dversion = 1.6.4 -Dpackaging = jar -Dfile = sigar.jar(其中sigar.jar是一個jar文件,只包含org文件夾中的文件,maven依賴於lib文件夾中的東西),但是它沒有找到.so文件。

我試圖找到答案,誰主要說應該解壓文件,如Unzip dependency in maven。解壓縮(在通過install:install-file安裝其他東西之後)確實可以正常工作,但該文件畢竟不包含在路徑中。

然後我試圖找到一些東西來包含構建路徑中的文件,所以我做了這樣的事情:Surefire JUnit Testing using Native Libraries(我想在測試中使用sigar),但是這也不會改變任何東西。我曾與許多不同的文件夾試了一下,即使添加了文件本身,而不是它是到庫路徑的文件夾,但即使是這樣的:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
    <forkMode>once</forkMode> 
    <argLine>-Djava.library.path=${project.build.directory}/lib/libsigar-x86-linux.so</argLine> 
    </configuration> 
</plugin> 

不起作用,但文件是明顯存在的。我正在使用maven 2.2.1。

有沒有人提示如何在這種情況下工作的sigar?

由於提前, DaGeRe

回答

0

使用萬無一失的插件,你不需要前綴 'd' 前綴(如參數 - -java.library.path = $ {} project.build.directory/lib目錄/ libsigar-x86-linux.so)。

+2

感謝您的建議,但問題的答案是,在嘗試再次搜索並再次搜索後,將 target添加到配置中。我想,$ {project.build.directory}會包含這個,但它沒有。 – 2013-05-06 16:09:32

+0

@DavidReichelt:你爲什麼不把它作爲你自己的答案並接受它? – lakshman 2014-04-22 16:25:03