2017-02-13 58 views
0

我想:java.lang.NoSuchMethodError:org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun

  1. 使用帶有 「MERGEFIELDS」 Word文檔與數據
  2. 轉換爲來填補它PDF文件,用java

我有這方面的工作之前,現在突然我得到了以下錯誤:

java.lang.NoSuchMethodError: org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun.

當我將.war文件放在Amazon EC2服務器上時發生這種情況。 (所有其他圖書館工作的罰款)

這裏是我使用的庫:

fr.opensagres.xdocreport.converter.odt.odfdom (v 1.0.4)

fr.opensagres.xdocreport.template.freemarker (v 1.0.4)

org.apache.poi.xwpf.converter.core (1.0.5)

org.apache.poi.xwpf.converter.pdf (1.0.5)

org.apache.poi.xwpf.converter.xhtml (1.0.5)

org.apache.poi (3.11)

這有什麼錯我的圖書館?或者這只是一個服務器部署問題?

非常感謝您的幫助。

下面是我的代碼:

public byte[] wordToPdf(RequestHelper reqHelper, Map<String, Object> values, String docPath) throws IOException, XDocReportException, ServiceUnavailableException, E24Exception { 
     try { 
      ServletContext ctx = reqHelper.getRequest().getServletContext(); 
      InputStream tpl = new BufferedInputStream(ctx.getResourceAsStream(docPath)); 
      IXDocReport report = XDocReportRegistry.getRegistry().loadReport(tpl, TemplateEngineKind.Velocity); 
      Options options = Options.getTo(ConverterTypeTo.PDF).via(ConverterTypeVia.XWPF); 
      ByteArrayOutputStream pdfOut = new ByteArrayOutputStream(); 
      report.convert(report.createContext(values), options, pdfOut); 
      byte[] pdfImage = pdfOut.toByteArray(); 
      return pdfImage; 
     } 
     catch (FileNotFoundException ex) { 
     } 
     return null; 
    } 

回答

0

好吧,我終於得到了該工作對我來說,因爲這個帖子有很多的意見,並沒有答案,我會回答它自己對那些誰是溶液需要!

我改變了有什麼用 「apache.poi」做版本1.0.4

之後,我用org.apache.poi版本3.9,而不是3.11

所有庫的版本因此,最後,把它包起來......這是我用到底

org.apache.poi.xwpf.converter.core (1.0.4)

org.apache.poi.xwpf.converter.pdf (1.0.4)

org.apache.poi.xwpf.converter.xhtml (1.0.4)

org.apache.poi (3.9)

/馬庫斯