org.hyperic.sigar.SigarException: no libsigar-universal64-macosx.dylib in java.library.path

此生再无相见时 提交于 2019-12-11 04:31:47

问题


I want to convert document by odconverter https://github.com/mirkonasato/jodconverter

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

I run java -jar target/jodconverter-core-3.0-SNAPSHOT.jar a.doc a.pdf , it gives error

    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:


Take a look at this support page from vmware

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

The problem you have is with the location of the file liblibsigar-x86_64-linux.so.

This file needs to be located in the same directory where you run the sigar.jar or is available on the classpath when you run the Java VM.



来源:https://stackoverflow.com/questions/15862628/org-hyperic-sigar-sigarexception-no-libsigar-universal64-macosx-dylib-in-java-l

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!