简体   繁体   English

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

[英]java.lang.NoSuchMethodError: org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun

I am trying to: 我在尝试着:

  1. Use a word document with "MergeFields" to fill it with data 使用带有“ MergeFields”的Word文档将其填充数据
  2. Convert to a PDF document, using java 使用Java转换为PDF文档

I have had this working before, and now all of a sudden i get the following error: 我以前曾做过这项工作,现在突然出现以下错误:

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

This occurs when i put the .war file on an Amazon EC2 server. 当我将.war文件放在Amazon EC2服务器上时,就会发生这种情况。 (all other libraries work fine) (所有其他库工作正常)

Here are the libraries that i use: 这是我使用的库:

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

fr.opensagres.xdocreport.template.freemarker (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.core(1.0.5)

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

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

org.apache.poi (3.11) org.apache.poi(3.11)

Is there anything wrong with my libraries? 我的图书馆有什么问题吗? or is this just a server deployment issue? 还是仅仅是服务器部署问题?

Very thankful for help. 非常感谢您的帮助。

Below is my code: 下面是我的代码:

 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;
    }

Ok i finally got to a solution that worked for me, since this post has alot of views and no answers, i'll answer it myself for those who are in need! 好的,我终于找到了一个对我有用的解决方案,因为这篇文章有很多观点,没有答案,我会为有需要的人自己回答!

I changed the version of all libraries that has anything to do with "apache.poi" to version 1.0.4 我将与“ apache.poi”有关的所有库的版本更改为1.0.4版。

After that i used org.apache.poi version 3.9 instead of 3.11 之后,我使用org.apache.poi版本3.9而不是3.11

So finally, to wrap it up... this is what i used in the end 最后,总结一下...这就是我最后使用的

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

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

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

org.apache.poi (3.9) org.apache.poi(3.9)

/Marcus /马库斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.NoSuchMethodError:org.apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat()Lorg / apache / poi / hssf / usermodel / HSSFDataFormat; - java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat()Lorg/apache/poi/hssf/usermodel/HSSFDataFormat; java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion - java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion java.lang.NoSuchMethodError:org.apache.poi.xssf.usermodel.XSSFWorkbook。 <init> (Ljava / IO / InputStream的;)V - java.lang.NoSuchMethodError: org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(Ljava/io/InputStream;)V java.lang.NoSuchMethodError:org.apache.poi.ss.usermodel.Font.setBold(Z)V - java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Font.setBold(Z)V java.lang.NoSuchMethodError:org.apache.poi.hssf.usermodel.HSSFSheet.setColumnWidth(II)V - java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.setColumnWidth(II)V java.lang.NoSuchMethodError:org.apache.poi.ss.usermodel.Workbook.sheetIterator()Ljava / util / Iterator; - java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Workbook.sheetIterator()Ljava/util/Iterator; java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Cell.getCellType()I - java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Cell.getCellType()I 原因是什么:java.lang.NoSuchMethodError:org.apache.poi.sss.usermodel.Workbook.sheetIterator()Ljava / util / Iterator; - What causes this: java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Workbook.sheetIterator()Ljava/ut‌​il/Iterator; Oozie Java操作错误java.lang.NoClassDefFoundError:org / apache / poi / xwpf / usermodel / XWPFDocument - Oozie Java Action Error java.lang.NoClassDefFoundError: org/apache/poi/xwpf/usermodel/XWPFDocument java.lang.ClassNotFoundException:org.apache.poi.xwpf.usermodel.IRunBody - java.lang.ClassNotFoundException: org.apache.poi.xwpf.usermodel.IRunBody
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM