Java 文档4J非法状态例外

Java 文档4J非法状态例外,java,pdf,docx,documents4j,Java,Pdf,Docx,Documents4j,我试图使用documents4j()将docx文件转换为pdf,代码如下: 事先非常感谢,我不知道该怎么做 package documents4j; import java.io.File; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import com.documents4j.api.DocumentType; import com.documents4j.api.IConv

我试图使用documents4j()将docx文件转换为pdf,代码如下: 事先非常感谢,我不知道该怎么做

    package documents4j;


import java.io.File;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;


public class HelloPDF {
    public static void main(String[] args) {

        File wordFile = new File("c:/datos/Resultados.docx"), target = new File("c:/datos/Resultados.pdf");

        IConverter converter = LocalConverter.builder().baseFolder(new File("c:/datos/"))
                .workerPool(20, 25, 2, TimeUnit.SECONDS)
                .processTimeout(5, TimeUnit.SECONDS).build();

        Future<Boolean> conversion = converter.convert(wordFile).as(DocumentType.DOCX).to(target).as(DocumentType.PDF)
                // .prioritizeWith(1000) // optional
                .schedule();

    }
}
包装文件4j;
导入java.io.File;
导入java.util.concurrent.Future;
导入java.util.concurrent.TimeUnit;
导入com.documents4j.api.DocumentType;
导入com.documents4j.api.i转换器;
导入com.documents4j.job.LocalConverter;
公共类HelloPDF{
公共静态void main(字符串[]args){
文件wordFile=new文件(“c:/datos/Resultados.docx”),target=new文件(“c:/datos/Resultados.pdf”);
IConverter converter=LocalConverter.builder().baseFolder(新文件(“c:/datos/”)
.workerPool(20,25,2,时间单位为秒)
.processTimeout(5,TimeUnit.SECONDS).build();
Future conversion=converter.convert(wordFile).as(DocumentType.DOCX).to(target.as)(DocumentType.PDF)
//.prioritywith(1000)//可选
.附表();
}
}
但是我遇到了一个非法移民

Exception in thread "main" java.lang.IllegalStateException: class com.documents4j.conversion.msoffice.MicrosoftWordBridge could not be created by a (File, long, TimeUnit) constructor
    at com.documents4j.conversion.ExternalConverterDiscovery.make(ExternalConverterDiscovery.java:32)
    at com.documents4j.conversion.ExternalConverterDiscovery.makeAll(ExternalConverterDiscovery.java:42)
    at com.documents4j.conversion.ExternalConverterDiscovery.loadConfiguration(ExternalConverterDiscovery.java:85)
    at com.documents4j.conversion.DefaultConversionManager.<init>(DefaultConversionManager.java:22)
    at com.documents4j.job.LocalConverter.makeConversionManager(LocalConverter.java:79)
    at com.documents4j.job.LocalConverter.<init>(LocalConverter.java:51)
    at com.documents4j.job.LocalConverter$Builder.build(LocalConverter.java:186)
    at documents4j.HelloPDF.main(HelloPDF.java:20)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.documents4j.conversion.ExternalConverterDiscovery.make(ExternalConverterDiscovery.java:30)
    ... 7 more
Caused by: java.lang.NoClassDefFoundError: com/documents4j/util/Reaction$IExceptionBuilder
    at com.documents4j.conversion.msoffice.AbstractMicrosoftOfficeBridge.tryStart(AbstractMicrosoftOfficeBridge.java:34)
    at com.documents4j.conversion.msoffice.MicrosoftWordBridge.startUp(MicrosoftWordBridge.java:44)
    at com.documents4j.conversion.msoffice.MicrosoftWordBridge.<init>(MicrosoftWordBridge.java:39)
    ... 12 more
Caused by: java.lang.ClassNotFoundException: com.documents4j.util.Reaction$IExceptionBuilder
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 15 more
[Shutdown hook: com.documents4j.job.LocalConverter] INFO com.documents4j.job.ConverterAdapter - Tried to deregister shut down hook in shut down period
java.lang.IllegalStateException: Shutdown in progress
    at java.lang.ApplicationShutdownHooks.remove(ApplicationShutdownHooks.java:82)
    at java.lang.Runtime.removeShutdownHook(Runtime.java:237)
    at com.documents4j.job.ConverterAdapter.deregisterShutdownHook(ConverterAdapter.java:121)
    at com.documents4j.job.ConverterAdapter.cleanUp(ConverterAdapter.java:107)
    at com.documents4j.job.ConverterAdapter.shutDown(ConverterAdapter.java:98)
    at com.documents4j.job.LocalConverter.shutDown(LocalConverter.java:109)
    at com.documents4j.job.ConverterAdapter$ConverterShutdownHook.run(ConverterAdapter.java:134)
Exception in thread "Shutdown hook: com.documents4j.job.LocalConverter" java.lang.NullPointerException
    at com.documents4j.job.LocalConverter.shutDown(LocalConverter.java:100)
    at com.documents4j.job.ConverterAdapter$ConverterShutdownHook.run(ConverterAdapter.java:134)
线程“main”java.lang.IllegalStateException中的异常:类com.documents4j.conversion.msoffice.MicrosoftWordBridge无法由(文件、长时间、时间单位)构造函数创建 位于com.documents4j.conversion.ExternalConverterDiscovery.make(ExternalConverterDiscovery.java:32) 位于com.documents4j.conversion.ExternalConverterDiscovery.makeAll(ExternalConverterDiscovery.java:42) 位于com.documents4j.conversion.ExternalConverterDiscovery.loadConfiguration(ExternalConverterDiscovery.java:85) 在com.documents4j.conversion.DefaultConversionManager上。(DefaultConversionManager.java:22) 位于com.documents4j.job.LocalConverter.makeConversionManager(LocalConverter.java:79) 在com.documents4j.job.LocalConverter上。(LocalConverter.java:51) 位于com.documents4j.job.LocalConverter$Builder.build(LocalConverter.java:186) 位于documents4j.HelloPDF.main(HelloPDF.java:20) 原因:java.lang.reflect.InvocationTargetException 位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:525) 位于com.documents4j.conversion.ExternalConverterDiscovery.make(ExternalConverterDiscovery.java:30) ... 还有7个 原因:java.lang.NoClassDefFoundError:com/documents4j/util/Reaction$IEExceptionBuilder 位于com.documents4j.conversion.msoffice.AbstractMicrosoftOfficeBridge.tryStart(AbstractMicrosoftOfficeBridge.java:34) 位于com.documents4j.conversion.msoffice.MicrosoftWordBridge.startUp(MicrosoftWordBridge.java:44) 在com.documents4j.conversion.msoffice.MicrosoftWordBridge.(MicrosoftWordBridge.java:39) ... 还有12个 原因:java.lang.ClassNotFoundException:com.documents4j.util.Reaction$IEExceptionBuilder 在java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在java.net.URLClassLoader$1.run(URLClassLoader.java:355) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:354) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:423) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 还有15个 [Shutdown hook:com.documents4j.job.LocalConverter]INFO com.documents4j.job.ConverterAdapter-试图在关闭期间注销关闭hook java.lang.IllegalStateException:正在关闭 位于java.lang.ApplicationShutdownHooks.remove(ApplicationShutdownHooks.java:82) 在java.lang.Runtime.removeshutdowhook(Runtime.java:237) 在com.documents4j.job.ConverterAdapter.deregisterShutdownHook(ConverterAdapter.java:121)上 位于com.documents4j.job.ConverterAdapter.cleanUp(ConverterAdapter.java:107) 位于com.documents4j.job.ConverterAdapter.shutDown(ConverterAdapter.java:98) 位于com.documents4j.job.LocalConverter.shutDown(LocalConverter.java:109) 位于com.documents4j.job.ConverterAdapter$ConverterShutdownHook.run(ConverterAdapter.java:134) 线程“Shutdown hook:com.documents4j.job.LocalConverter”java.lang.NullPointerException中出现异常 位于com.documents4j.job.LocalConverter.shutDown(LocalConverter.java:100) 位于com.documents4j.job.ConverterAdapter$ConverterShutdownHook.run(ConverterAdapter.java:134)
好的,我找到了答案。问题是我没有包括所有的库,我补充说:

文档4J-util-all-1.0.3 文档4j-util-standalone-1.0.3

它终于起作用了