【发布时间】:2020-05-19 10:40:04
【问题描述】:
使用 java itext 库,通过一个非常简单的测试。代码通过,但在关闭文档时,由于 java.lang.String.compareToIgnoreCase 的空指针异常而失败。
将 itext java 代码嵌入 IBM i RPGIV 代码时会发生这种情况。尚不确定这是 JNI/RPGIV 转换问题(utf8 应转换为 EBCDIC 本机字符集)还是正确的 itext 问题。如果任何 itext 开发人员可以向我确认这是否可能是典型的 itext 问题或听起来不是这样,这将有所帮助,特别是对 START NON-TRANSLATABLE 的引用。
线程“main”中的异常# START NON-TRANSLATABLEjava.lang.NullPointerException 在 java.lang.String.compareToIgnoreCase(String.java:603)
在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:94) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:152)
在 com.itextpdf.text.pdf.OutputStreamCounter.flush(OutputStreamCounter.java:89) 在 com.itextpdf.text.DocWriter.close(DocWriter.java:233)
在 com.itextpdf.text.pdf.PdfWriter.close(PdfWriter.java:1341)
在 com.itextpdf.text.pdf.PdfDocument.close(PdfDocument.java:901)
在 com.itextpdf.text.Document.close(Document.java:415)
这是我的 Plex 动作图代码:
PdfWriter RPG 原型: 方法文档.open: 类元素段: 段落构造器 RPG Prototype Element接口(Paragraph实现Element): 将段落添加到文档方法: 文档关闭方法:
这些是我实现的 Plex API:
创建文档:
创建 PdfWriter:
打开文档:
创建段落:
在文档中添加段落
关闭文档:
最后,我用这些值启动 java: classpath = 库的完整列表(itext + Apache POI,全部运行) java_home = java 7 的路径
【问题讨论】:
-
请不要多次问同一个问题,你昨天问了同样的事情......stackoverflow.com/questions/61867716/…
-
你说得对,查尔斯。我在这里和那里寻求帮助,但不知道我昨天在这里问了同样的问题。我将删除第一条消息,因为第二条消息有一些额外的历史记录。实际上,我询问了当前关注 itext 开发人员的消息,以便丢弃(或不丢弃)适当的 itext 问题。
-
完成,查尔斯。现在,只有一个。两者比较,没有区别!
-
我看到我的问题获得了两个负面因素。但是,我没有看到任何解释,也没有人对这个问题提供任何帮助,或者解释为什么我的问题令人讨厌/明显/无用/不导电。同时,我的问题还在继续。分享知识的好奇方式。 (不是你的情况,查尔斯)。
-
这真的不是一个很好的问题,除非有人碰巧认出了确切的堆栈跟踪。查看stackoverflow.com/help/how-to-ask 并考虑至少包含您用来调用java 类的PR。至少部分 RPG 代码也可能有用。
标签: java itext ibm-midrange rpgle