2017-01-03 210 views
0

这个错误时抛出是扔在Web应用程序,但在一个独立的应用程序不会发生此。任何想法,我使用docx4j 3.3.0。Docx4j抛出异常时,转换为PDF

应用乳宁的Jboss 6.3 EAP。

一个使用之前的旧版本(3.2.2),而不是抛出这个错误。

JBWEB000309: type JBWEB000066: Exception report 

JBWEB000068: message Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest 

JBWEB000069: description JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request. 

JBWEB000070: exception 

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest 
    org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1303) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:734) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    net.solser.admc.filter.RequestSecurityFilter.doFilter(RequestSecurityFilter.java:48) 
    net.solser.filter.compress.GzipFilter.doFilter(GzipFilter.java:35) 
JBWEB000071: root cause 

java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest 
    org.docx4j.Docx4J.toPDF(Docx4J.java:592) 
    net.solsersistem.utils.pdf.PDFUtils.convertDocx4jToPDF(PDFUtils.java:45) 
    net.solser.admc.service.purchasingflow.PurchasingRequisitionService.sendFileToDownload(PurchasingRequisitionService.java:1190) 
    net.solser.admc.service.purchasingflow.PurchasingRequisitionService.sendFileToDownloadAndDeleteFile(PurchasingRequisitionService.java:1203) 
    net.solser.admc.service.purchasingflow.PurchasingRequisitionService.downloadDraftContract(PurchasingRequisitionService.java:349) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    java.lang.reflect.Method.invoke(Unknown Source) 
    org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) 
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) 
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) 
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:734) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    net.solser.admc.filter.RequestSecurityFilter.doFilter(RequestSecurityFilter.java:48) 
    net.solser.filter.compress.GzipFilter.doFilter(GzipFilter.java:35) 
JBWEB000071: root cause 

java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest from [Module "deployment.EARAdmContractRest.ear:main" from Service Module Loader] 
    org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) 
    org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) 
    org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) 
    org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) 
    org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) 
    org.docx4j.Docx4J.toPDF(Docx4J.java:592) 
    net.solsersistem.utils.pdf.PDFUtils.convertDocx4jToPDF(PDFUtils.java:45) 
    net.solser.admc.service.purchasingflow.PurchasingRequisitionService.sendFileToDownload(PurchasingRequisitionService.java:1190) 
    net.solser.admc.service.purchasingflow.PurchasingRequisitionService.sendFileToDownloadAndDeleteFile(PurchasingRequisitionService.java:1203) 
    net.solser.admc.service.purchasingflow.PurchasingRequisitionService.downloadDraftContract(PurchasingRequisitionService.java:349) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    java.lang.reflect.Method.invoke(Unknown Source) 
    org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) 
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) 
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) 
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) 
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:734) 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    net.solser.admc.filter.RequestSecurityFilter.doFilter(RequestSecurityFilter.java:48) 
    net.solser.filter.compress.GzipFilter.doFilter(GzipFilter.java:35) 

坦克和问候。

回答

0

看起来像你正在转换为PDF格式。

按照发行说明,http://www.docx4java.org/forums/announces/docx4j-3-3-0-released-t2381.html东西v3.3.x改变:

默认的PDF转换器从XSL FO + Apache的FOP改为Plutext的 商业PDF转换。基于XSL FO的PDF输出转移到 新的/单独的项目docx4j-export-fo;我们在仔细考虑 之后做了此更改,因为质量/性能好得多,并且它从docx4j本身中删除了各种依赖关系。如果 想要坚持使用现有的XSL FO + Apache FOP PDF转换,不需要 probs: - 请参阅以下内容。

默认情况下, 使用PDF Converter在converter-eval.plutext.com的实例,但您可以(也应该)在本地安装它;安装程序是 可在http://converter-eval.plutext.com/

要使用自己的实例,设置docx4j属性,如:

com.plutext.converter.URL = http://converter-eval.plutext.com:80/v1/00000000-0000-0000-0000-000000000000/convert

如果要使用现有的XSL FO +阿帕奇FOP PDF转换, 只需将docx4j-export-fo(+ deps)添加到您的类路径。如果这些是 ,则docx4j将恢复到基于FO的转换。这些罐子在zip文件中是 ,在dir可选/ export-fo中,也在Maven Central中。

当使用默认的PDF转换器(即商用一体机),就需要相关的docx4j 3.x的依赖关系,在这种情况下,https://github.com/plutext/docx4j/blob/master/pom.xml#L502

<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.5.2</version> 
</dependency> 

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-core</artifactId> 
    <version>2.7.3</version> 
</dependency> 

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.7.3</version> 
</dependency> 
+0

that's它,只有我添加其他依赖: ** org.apache.httpcomponents:httpcore ** –

相关问题