升级到 Notes 11 - Apache POI java 库的问题

Upgrade to Notes 11 - issue with Apache POI java library

我们在 Domino 9 服务器上的几个 Xpages 应用程序 运行ning 中使用 Apache POI 库。现在,当将 HCL Notes Designer 升级到 R11 时,我们可以看到 Apache POI 在版本 4.1.1 的 jvm\lib\ext 文件夹中可用(由 Notes 本身使用,请参见此处 https://nevermind.dk/nevermind/blog.nsf/subject/an-important-change-in-hcl-notes-v11)。这是一个问题......我们的应用程序正在使用 Apache POI 3.x,Apache POI 库区域附加到数据库设计中的 'jars',但由于某种原因,Designer 使用的是来自文件系统的较新的而不是我们的. Apache POI 4.x 和 3.x 在某些方面不兼容,所以我们有一个编译错误。

这种情况有什么解决办法?应用程序应该 运行 在 R9 服务器上,我们不应该仅仅因为 HCL 在 Notes 内部使用 Apache POI 4.x 就重写这些。有没有办法强制应用程序使用附加在我们应用程序中的 Apache POI?

与HCL技术支持讨论并得到答复,升级到R11时除了更新我们的应用程序代码外别无他法。只需记住 Apache POI 4.x 及更高版本需要 JAVA 8,因此在进行代码更新时至少需要 Domino R9 FP8 及更高版本。

但一般还是运行R9 FP8+的时候做比较好,这样两个Apache POI版本都可以暂时使用。所以我们可以将代码迁移到 POI 4.1.1,然后我们可以进行 R11 升级。此 POI 问题与 xPages 和 Java 代理有关,如果 Apache POI 正在那里使用的话。这是我们的情况...

这是 ext 文件夹中的 jars 的问题。它们优先于脚本库和代理中的任何内容。可以通过创建自定义 ClassLoader 来解决此问题 - 但将代码更新到新的 POI 版本接缝是更好的选择