【发布时间】:2019-07-03 21:32:57
【问题描述】:
jodConverter 4.2.2
视窗 10
用于 java jdk 的亚马逊 corretto 8,1.8.0_212
从 IntelliJ 社区运行(最新)
LibreOffice 6.1.3.1(64 位) - 已安装并运行良好
我尝试运行这段简单的代码(请原谅格式错误):
import org.jodconverter.office.OfficeManager;
import org.jodconverter.office.LocalOfficeManager;
import org.jodconverter.JodConverter;
import org.jodconverter.office.OfficeUtils;
import java.io.File;
public class Main {
public static void main(String[] args) {
OfficeManager officeManager = LocalOfficeManager.builder()
.install()
.officeHome("C:\\Program Files\\LibreOffice")
.build();
File inputFile = new File("c:\\users\\dlawler\\desktop\\test.rtf");
File outputFile = new File("c:\\users\\dlawler\\desktop\\test.pdf");
try {
// Start an office process and connect to the started instance (on port 2002).
officeManager.start();
// Convert
JodConverter
.convert(inputFile)
.to(outputFile)
.execute();
} catch (OfficeException e) {
} finally {
// Stop the office process
OfficeUtils.stopQuietly(officeManager);
}
}
}
然后屏幕上弹出一个错误:
LoadLibrary 失败,错误 87:参数不正确
这是日志:
"C:\Program Files\Amazon Corretto\jdk1.8.0_212\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.6\lib\idea_rt.jar= 51201:C:\Program Files\JetBrains\IntelliJ IDEA 社区版 2018.3.6\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\charsets .jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext \cldrdata.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\dnsns.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\jaccess .jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\jfxrt.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\localedata.jar ;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\nashorn.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\sunec.jar;C :\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\sunjce_provider.jar;C:\Program File s\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\sunmscapi.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\ext\sunpkcs11.jar;C:\Program Files\ Amazon Corretto\jdk1.8.0_212\jre\lib\ext\zipfs.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\jce.jar;C:\Program Files\Amazon Corretto\jdk1 .8.0_212\jre\lib\jfxswt.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\jsse.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\ lib\management-agent.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\resources.jar;C:\Program Files\Amazon Corretto\jdk1.8.0_212\jre\lib\rt。 jar;C:\Projects\Converter\out\production\Converter;C:\Users\dlawler.m2\repository\org\jodconverter\jodconverter-local\4.2.2\jodconverter-local-4.2.2.jar;C: \Users\dlawler.m2\repository\org\jodconverter\jodconverter-core\4.2.2\jodconverter-core-4.2.2.jar;C:\Users\dlawler.m2\repository\commons-io\commons-io\ 2.6\commons-io-2.6.jar;C:\Users\dlawler.m2\repository\org\apache\commons\commons-lang3\3.7\commons-lang3-3。 7.jar;C:\Users\dlawler.m2\repository\com\google\code\gson\gson\2.8.5\gson-2.8.5.jar;C:\Users\dlawler.m2\repository\org\ openoffice\juh\4.1.2\juh-4.1.2.jar;C:\Users\dlawler.m2\repository\org\openoffice\jurt\4.1.2\jurt-4.1.2.jar;C:\Users\ dlawler.m2\repository\org\openoffice\ridl\4.1.2\ridl-4.1.2.jar;C:\Users\dlawler.m2\repository\org\openoffice\unoil\4.1.2\unoil-4.1.2 .jar;C:\Users\dlawler.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3。 6\lib\slf4j-log4j12-1.7.25.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.6\lib\log4j.jar;C:\Program Files\LibreOffice\program\classes\java_uno. jar;C:\Program Files\LibreOffice\program\classes\juh.jar;C:\Program Files\LibreOffice\program\classes\jurt.jar" com.connexin.converter.Main 2019-07-03 17:21:40 INFO OfficeProcessManager:294 - 提交任务“开始”并等待... 2019-07-03 17:21:40 INFO OfficeDescriptor:97 - soffice 信息(来自 exec 路径):产品:LibreOffice - 版本:??? - useLongOptionNameGnuStyle: true 2019-07-03 17:21:40 INFO OfficeProcess:395 - 使用 acceptString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1;urp;StarOffice.ServiceManager' 和 profileDir 'C:\Users\ 启动进程dlawler\AppData\Local\Temp.jodconverter_socket_host-127.0.0.1_port-2002_tcpNoDelay-1' 2019-07-03 17:21:40 调试 AbstractProcessManager:140 - 命令行匹配!返回 pid:25300 2019-07-03 17:21:40 INFO OfficeProcess:402 - 已启动流程; PID = 25300 2019-07-03 17:21:40 调试 OfficeConnection:91 - 使用 connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 连接 2019-07-03 17:21:42 调试 OfficeConnection:91 - 使用 connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 连接 2019-07-03 17:21:43 调试 OfficeConnection:91 - 使用 connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 连接 2019-07-03 17:21:44 调试 OfficeConnection:91 - 使用 connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 连接 2019-07-03 17:21:45 调试 OfficeConnection:91 - 使用 connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 连接 2019-07-03 17:21:47 调试 OfficeConnection:91 - 使用 connectString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 连接 2019-07-03 17:21:48 调试 OfficeProcessManager:303 - 在 submitAndWait 中捕获的 ExecutionException java.util.concurrent.ExecutionException:org.jodconverter.office.OfficeException:Office 进程因退出代码-1073740791 而死 在 java.util.concurrent.FutureTask.report(FutureTask.java:122) 在 java.util.concurrent.FutureTask.get(FutureTask.java:192) 在 org.jodconverter.office.OfficeProcessManager.submitAndWait(OfficeProcessManager.java:299) 在 org.jodconverter.office.OfficeProcessManager.startAndWait(OfficeProcessManager.java:254) 在 org.jodconverter.office.OfficeProcessManagerPoolEntry.doStart(OfficeProcessManagerPoolEntry.java:168) 在 org.jodconverter.office.AbstractOfficeManagerPoolEntry.start(AbstractOfficeManagerPoolEntry.java:144) 在 org.jodconverter.office.AbstractOfficeManagerPool.doStart(AbstractOfficeManagerPool.java:188) 在 org.jodconverter.office.AbstractOfficeManagerPool.start(AbstractOfficeManagerPool.java:113) 在 org.jodconverter.office.LocalOfficeManager.start(LocalOfficeManager.java:38) 在 com.connexin.converter.Main.main(Main.java:23) 原因:org.jodconverter.office.OfficeException:Office 进程因退出代码 -1073740791 而死 在 org.jodconverter.office.ConnectRetryable.attempt(ConnectRetryable.java:87) 在 org.jodconverter.office.AbstractRetryable.execute(AbstractRetryable.java:57) 在 org.jodconverter.office.ConnectRetryable.execute(ConnectRetryable.java:26) 在 org.jodconverter.office.OfficeProcessManager.doStartProcessAndConnect(OfficeProcessManager.java:104) 在 org.jodconverter.office.OfficeProcessManager.access 100 美元(OfficeProcessManager.java:40) 在 org.jodconverter.office.OfficeProcessManager$4.call(OfficeProcessManager.java:261) 在 org.jodconverter.office.OfficeProcessManager$4.call(OfficeProcessManager.java:256) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 原因:org.jodconverter.office.OfficeConnectionException:连接失败:'socket,host=127.0.0.1,port=2002,tcpNoDelay=1'; java.net.ConnectException:连接被拒绝:连接 在 org.jodconverter.office.OfficeConnection.connect(OfficeConnection.java:170) 在 org.jodconverter.office.ConnectRetryable.attempt(ConnectRetryable.java:61) ... 10 更多 引起:com.sun.star.connection.NoConnectException:java.net.ConnectException:连接被拒绝:连接 在 com.sun.star.lib.connections.socket.socketConnector.connect(socketConnector.java:144) 在 com.sun.star.comp.connections.Connector.connect(Connector.java:119) 在 org.jodconverter.office.OfficeConnection.connect(OfficeConnection.java:106) ... 11 更多 2019-07-03 17:21:48 INFO AbstractOfficeManagerPool:195 - 停止办公室经理池... 2019-07-03 17:21:48 INFO OfficeProcessManager:294 - 提交任务“停止”并等待... 2019-07-03 17:21:48 调试 OfficeProcessManager:138 - 在 doStopProcess 中捕获异常 java.lang.NullPointerException 在 org.jodconverter.office.OfficeProcessManager.doStopProcess(OfficeProcessManager.java:124) 在 org.jodconverter.office.OfficeProcessManager.access$000(OfficeProcessManager.java:40) 在 org.jodconverter.office.OfficeProcessManager$5.call(OfficeProcessManager.java:283) 在 org.jodconverter.office.OfficeProcessManager$5.call(OfficeProcessManager.java:278) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 2019-07-03 17:21:48 INFO OfficeProcess:206 - 试图强制终止进程:'host=127.0.0.1,port=2002,tcpNoDelay=1'; PID:25300 2019-07-03 17:21:48 INFO OfficeProcessManager:158 - 进程被强制终止,代码为 -1073740791 2019-07-03 17:21:48 信息 OfficeProcessManager:77 - 进程退出,代码为 -1073740791 2019-07-03 17:21:48 DEBUG OfficeProcess:123 - 删除实例配置文件目录'C:\Users\dlawler\AppData\Local\Temp.jodconverter_socket_host-127.0.0.1_port-2002_tcpNoDelay-1' 2019-07-03 17:21:48 调试 OfficeProcessManager:300 - 任务“停止”成功执行 2019-07-03 17:21:48 INFO AbstractOfficeManagerPool:213 - 办公室经理停止
进程以退出代码 0 结束
任何关于寻找什么的想法都会非常感激。我想知道赛门铁克是否阻止了这些端口? 64位/32位不匹配?
【问题讨论】:
-
一时兴起,我尝试编译并运行 jodconverter 本身的测试,结果完全相同。我猜这个问题与我正在使用的 LibreOffice 版本与项目拥有的 LibreOffice jar 之间的不匹配有关?我将更多地研究 jodconverter 本身的构建过程......
标签: jodconverter