1

我想通过 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)
4

1 回答 1

2

看看这个来自 vmware 的支持页面

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

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

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

于 2013-08-04T23:50:24.447 回答