簡體   English   中英

Apache tomcat 錯誤(沒有來自 eclipse 或 xampp tomcat)

[英]Apache tomcat error (no from eclipse or xampp tomcat)

我在使用 Documents4j 庫從 .docx 轉換為 .pdf 時遇到問題,這僅在我從 apache tomcat 安裝運行應用程序時發生。

但是,如果應用程序是用 Eclipse 或 XAMPP 執行的,apache tomcat 工作正常。

我已經嘗試過使用 apache tomcat 8 和 8.5 的 Windows 10、Windows 7 和 Windows Server 2012,但問題仍然存在。

Eclipse 或 XAMPP 在運行 apache tomcat 時做“某事”使其正常工作

jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="com.documents4j.api.IConverter, 
    com.documents4j.job.LocalConverter, 
    com.documents4j.api.DocumentType, 
    java.io.File" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<%
    IConverter converter = LocalConverter.make();
    converter.convert(new File("C:\\test\\test.docx")).as(DocumentType.DOCX).to(new File("C:\\test\\test.pdf")).as(DocumentType.PDF).execute();
%>
</body>
</html>

依賴項:

<dependencies>
    <!-- Local dependencies -->
    <!-- https://mvnrepository.com/artifact/com.documents4j/documents4j-local -->
    <dependency>
        <groupId>com.documents4j</groupId>
        <artifactId>documents4j-local</artifactId>
        <version>1.0.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.documents4j/documents4j-transformer-msoffice-word -->
    <dependency>
        <groupId>com.documents4j</groupId>
        <artifactId>documents4j-transformer-msoffice-word</artifactId>
        <version>1.0.2</version>
    </dependency>
</dependencies>

錯誤:

org.apache.jasper.JasperException: com.documents4j.throwables.ConverterException: Conversion failed for an unknown reason
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:565)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:481)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
com.documents4j.throwables.ConverterException: Conversion failed for an unknown reason
    com.documents4j.job.AbstractFutureWrappingPriorityFuture.run(AbstractFutureWrappingPriorityFuture.java:90)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    java.lang.Thread.run(Unknown Source)

您可以嘗試為轉換器指定顯式基本文件夾。 應用程序容器通常定義一個與默認臨時文件夾不同的隱式臨時文件夾,也許您的設置禁止從該文件夾中執行腳本,這可能會導致您的麻煩。 您可以通過在運行時檢查java.io.tmpdir屬性來檢查臨時文件夾。

作為另一個問題,請確保您的基本文件夾不包含任何空格。 也請更新到 1.0.3,其中更新包含對此類空間的改進處理。 Maye Tomcat 安裝在“程序文件”中,這可能是問題所在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM