org.hyperic.sigar.SigarException:java.library.path中没有libsigar-universal64-macosx.dylib

时间:2013-04-07 12:57:05

标签: macos maven java-7

我想通过odconverter转换文档https://github.com/mirkonasato/jodconverter

mvn -Djava.library.path=/Users/apple/jodconverter-core/Sigar/libsigar-universal64-macosx.dylib -Doffice.home=/Applications/LibreOffice.app/ -DskipTests package

构建后

我跑java -jar target/jodconverter-core-3.0-SNAPSHOT.jar a.doc a.pdf ,它给出了错误

    2013-4-8 14:36:10 org.artofsolving.jodconverter.office.ProcessPoolOfficeManager <init>
??Ϣ: ProcessManager implementation is SigarProcessManager
no libsigar-universal64-macosx.dylib in java.library.path
org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in java.library.path
    at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
    at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
    at org.artofsolving.jodconverter.process.SigarProcessManager.findPid(SigarProcessManager.java:40)
    at org.artofsolving.jodconverter.office.OfficeProcess.start(OfficeProcess.java:65)
    at org.artofsolving.jodconverter.office.OfficeProcess.start(OfficeProcess.java:60)
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:119)
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access$000(ManagedOfficeProcess.java:31)
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess$1.run(ManagedOfficeProcess.java:58)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)
Exception in thread "main" org.artofsolving.jodconverter.office.OfficeException: failed to start and connect
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:64)
    at org.artofsolving.jodconverter.office.PooledOfficeManager.start(PooledOfficeManager.java:101)
    at org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.start(ProcessPoolOfficeManager.java:62)
    at org.artofsolving.jodconverter.cli.Convert.main(Convert.java:112)
Caused by: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: org.hyperic.sigar.ptql.SigarProcessQuery.create(Ljava/lang/String;)V
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
    at java.util.concurrent.FutureTask.get(FutureTask.java:83)
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:62)
    ... 3 more
Caused by: java.lang.UnsatisfiedLinkError: org.hyperic.sigar.ptql.SigarProcessQuery.create(Ljava/lang/String;)V
    at org.hyperic.sigar.ptql.SigarProcessQuery.create(Native Method)
    at org.hyperic.sigar.ptql.ProcessQueryFactory.getQuery(ProcessQueryFactory.java:66)
    at org.hyperic.sigar.ptql.ProcessFinder.find(ProcessFinder.java:68)
    at org.hyperic.sigar.ptql.ProcessFinder.find(ProcessFinder.java:56)
    at org.artofsolving.jodconverter.process.SigarProcessManager.findPid(SigarProcessManager.java:42)
    at org.artofsolving.jodconverter.office.OfficeProcess.start(OfficeProcess.java:65)
    at org.artofsolving.jodconverter.office.OfficeProcess.start(OfficeProcess.java:60)
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:119)
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access$000(ManagedOfficeProcess.java:31)
    at org.artofsolving.jodconverter.office.ManagedOfficeProcess$1.run(ManagedOfficeProcess.java:58)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)

1 个答案:

答案 0 :(得分:2)

从vmware

查看此支持页面

http://communities.vmware.com/message/1947069#1947069

您遇到的问题是文件liblibsigar-x86_64-linux.so的位置。

此文件需要位于运行sigar.jar的同一目录中,或者在运行Java VM时在类路径中可用。