Java 创建word文件的进程超时异常

Java 创建word文件的进程超时异常,java,documents4j,Java,Documents4j,我使用documents4j库创建了一个word文件 有时它工作,但另一次它不工作,并通过超时超时 以下是输出错误: ERROR c.d.c.msoffice.MicrosoftWordBridge - Thread responsible for running script timed out: C:\****\****\****\word_start287628854.vbs java.util.concurrent.TimeoutException: Timed out waiting

我使用documents4j库创建了一个word文件

有时它工作,但另一次它不工作,并通过超时超时

以下是输出错误:

ERROR c.d.c.msoffice.MicrosoftWordBridge - Thread responsible for running script timed out: C:\****\****\****\word_start287628854.vbs

java.util.concurrent.TimeoutException: Timed out waiting for Process[pid=15988, exitValue="not exited"] to finish, timeout: 5000 milliseconds, executed command [cmd, /S, /C, "C:\****\****\****\word_start287628854.vbs""] in directory C:\****\****\Desktop, output was 0 bytes:

at org.zeroturnaround.exec.ProcessExecutor.newTimeoutException(ProcessExecutor.java:1079) ~[zt-exec-1.8.jar:na]
    at org.zeroturnaround.exec.ProcessExecutor.waitFor(ProcessExecutor.java:1042) ~[zt-exec-1.8.jar:na]
    at org.zeroturnaround.exec.ProcessExecutor.execute(ProcessExecutor.java:860) ~[zt-exec-1.8.jar:na]
    at com.documents4j.conversion.AbstractExternalConverter.runNoArgumentScript(AbstractExternalConverter.java:72) ~[documents4j-util-transformer-process-1.0.3.jar:na]
    at com.documents4j.conversion.msoffice.AbstractMicrosoftOfficeBridge.runNoArgumentScript(AbstractMicrosoftOfficeBridge.java:51) ~[documents4j-transformer-msoffice-base-1.0.3.jar:na]
    at com.documents4j.conversion.msoffice.AbstractMicrosoftOfficeBridge.tryStart(AbstractMicrosoftOfficeBridge.java:34) ~[documents4j-transformer-msoffice-base-1.0.3.jar:na]
    at com.documents4j.conversion.msoffice.MicrosoftWordBridge.startUp(MicrosoftWordBridge.java:44) ~[documents4j-transformer-msoffice-word-1.0.3.jar:na]
    at com.documents4j.conversion.msoffice.MicrosoftWordBridge.<init>(MicrosoftWordBridge.java:39) ~[documents4j-transformer-msoffice-word-1.0.3.jar:na]
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[na:na]
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) ~[na:na]
    at com.documents4j.conversion.ExternalConverterDiscovery.make(ExternalConverterDiscovery.java:30) ~[documents4j-transformer-1.0.3.jar:na]
    at com.documents4j.conversion.ExternalConverterDiscovery.makeAll(ExternalConverterDiscovery.java:42) ~[documents4j-transformer-1.0.3.jar:na]
    at com.documents4j.conversion.ExternalConverterDiscovery.loadConfiguration(ExternalConverterDiscovery.java:85) ~[documents4j-transformer-1.0.3.jar:na]
    at com.documents4j.conversion.DefaultConversionManager.<init>(DefaultConversionManager.java:22) ~[documents4j-transformer-1.0.3.jar:na]
    at com.documents4j.job.LocalConverter.makeConversionManager(LocalConverter.java:79) ~[documents4j-local-1.0.3.jar:na]
    at com.documents4j.job.LocalConverter.<init>(LocalConverter.java:51) ~[documents4j-local-1.0.3.jar:na]
    at com.documents4j.job.LocalConverter$Builder.build(LocalConverter.java:186) ~[documents4j-local-1.0.3.jar:na]
    at org.processmining.framework.util.ui.scalableview.interaction.ExportInteractionPanel.export(ExportInteractionPanel.java:408) ~[bin/:na]
    at org.processmining.framework.util.ui.scalableview.interaction.ExportInteractionPanel$1.run(ExportInteractionPanel.java:78) ~[bin/:na]
    at java.base/java.lang.Thread.run(Thread.java:835) ~[na:na]
错误c.d.c.msoffice.MicrosoftWordBridge-负责运行脚本的线程超时:c:\******************\word\U start287628854.vbs
java.util.concurrent.TimeoutException:等待进程[pid=15988,exitValue=“not exited”]完成时超时,超时时间:5000毫秒,在目录C:\******\***\***\******\******\***\***\******\word\U start287628854.vbs”“]中执行命令[cmd,/S,/C,“C:\******\***\***\***\***\***\***\***\***\word\U-start287628854.vbs”“],输出为0字节:
在org.zeroturnal.exec.ProcessExecutor.newTimeoutException(ProcessExecutor.java:1079)~[zt-exec-1.8.jar:na]
在org.zeroturnal.exec.ProcessExecutor.waitFor(ProcessExecutor.java:1042)~[zt-exec-1.8.jar:na]
在org.zeroturnal.exec.ProcessExecutor.execute(ProcessExecutor.java:860)~[zt-exec-1.8.jar:na]
在com.documents4j.conversion.AbstractExternalConverter.runNoArgumentScript(AbstractExternalConverter.java:72)~[documents4j-util-transformer-process-1.0.3.jar:na]
在com.documents4j.conversion.msoffice.AbstractMicrosoftOfficeBridge.runNoArgumentScript(AbstractMicrosoftOfficeBridge.java:51)~[documents4j-transformer-msoffice-base-1.0.3.jar:na]
在com.documents4j.conversion.msoffice.AbstractMicrosoftOfficeBridge.tryStart(AbstractMicrosoftOfficeBridge.java:34)~[documents4j-transformer-msoffice-base-1.0.3.jar:na]
在com.documents4j.conversion.msoffice.MicrosoftWordBridge.startUp(MicrosoftWordBridge.java:44)~[documents4j-transformer-msoffice-word-1.0.3.jar:na]
在com.documents4j.conversion.msoffice.MicrosoftWordBridge.(MicrosoftWordBridge.java:39)~[documents4j-transformer-msoffice-word-1.0.3.jar:na]
在java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)~[na:na]
在java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)~[na:na]
在java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)~[na:na]
在java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)~[na:na]
在java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)~[na:na]
在com.documents4j.conversion.ExternalConverterDiscovery.make(ExternalConverterDiscovery.java:30)~[documents4j-transformer-1.0.3.jar:na]
在com.documents4j.conversion.ExternalConverterDiscovery.makeAll(ExternalConverterDiscovery.java:42)~[documents4j-transformer-1.0.3.jar:na]
在com.documents4j.conversion.ExternalConverterDiscovery.loadConfiguration(ExternalConverterDiscovery.java:85)~[documents4j-transformer-1.0.3.jar:na]
在com.documents4j.conversion.DefaultConversionManager.(DefaultConversionManager.java:22)~[documents4j-transformer-1.0.3.jar:na]
在com.documents4j.job.LocalConverter.makeConversionManager(LocalConverter.java:79)~[documents4j-local-1.0.3.jar:na]
在com.documents4j.job.LocalConverter.(LocalConverter.java:51)~[documents4j-local-1.0.3.jar:na]
在com.documents4j.job.LocalConverter$Builder.build(LocalConverter.java:186)~[documents4j-local-1.0.3.jar:na]
在org.processmining.framework.util.ui.scalableview.interaction.ExportInteractionPanel.export(ExportInteractionPanel.java:408)~[bin/:na]
在org.processmining.framework.util.ui.scalableview.interaction.ExportInteractionPanel$1.run(ExportInteractionPanel.java:78)~[bin/:na]
在java.base/java.lang.Thread.run(Thread.java:835)~[na:na]

如何解决此错误?

这是因为您需要在运行应用程序之前关闭word文档

尝试终止runnig进程,从Windoes OS中的CMD可以运行以下命令:

taskkill /F /PID your_pid_number
taskkill /F /PID 15988
例如,您可以看到应用程序正在等待PROCESS15988完成
java.util.concurrent.TimeoutException:等待进程[pid=15988,exitValue=“not exited”]完成时超时…

因此,您可以运行以下命令:

taskkill /F /PID your_pid_number
taskkill /F /PID 15988

然后运行你的应用程序

这是一个新的执行,它尝试创建另一个独立于在以前执行中创建的word文件。@jumpy如果关闭previews word文档,你仍然会遇到此异常?它已关闭。现在它可以工作,但如果我多次重新运行应用程序关闭以前的执行,则可能是以下情况之一:这些执行经过TimeoutException。当您得到此异常时,请终止导致此异常的进程,如我在回答中所述。我尝试使用正确的PID。其输出为“找不到进程”