java.lang.NoSuchMethodError: org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun
java.lang.NoSuchMethodError: org.apache.poi.xwpf.usermodel.XWPFHyperlinkRun
我正在尝试:
- 使用带有"MergeFields"的word文档来填充数据
- 转换为 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;
}
好吧,我终于得到了一个适合我的解决方案,因为这个post有很多观点,但没有答案,我会自己回答给有需要的人!
我更改了所有与此有关的库的版本
"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)
/马库斯
我正在尝试:
- 使用带有"MergeFields"的word文档来填充数据
- 转换为 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;
}
好吧,我终于得到了一个适合我的解决方案,因为这个post有很多观点,但没有答案,我会自己回答给有需要的人!
我更改了所有与此有关的库的版本 "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)
/马库斯