Java 文档4J非法状态例外
我试图使用documents4j()将docx文件转换为pdf,代码如下: 事先非常感谢,我不知道该怎么做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
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 它终于起作用了