【问题标题】:jodconverter loadLibrary messagejodconverter loadLibrary 消息
【发布时间】: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


【解决方案1】:

所以这一定是本地配置/系统错误。我在另外两台 PC(不在我们的公司网络中)上设置了相同的环境,并且 jodconverter 编译并运行它的测试没有问题。我正在研究可能导致不同行为的任何可能差异(防火墙、防病毒、其他加载的程序)...

更新:原来是这台机器上的超老 AMD 显卡(AMD Radeon HD 7300)的驱动程序。解决方案是进入 C:\Windows\System32 并将 atig6pxx.dll 重命名为 atig6pxx.dll.bak。这样做后我没有遇到任何问题 - 但我希望这会禁用这张卡的 opengl。目前这不是问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2023-03-06
    • 2012-12-07
    相关资源
    最近更新 更多