我们在Domino9服务器上运行的几个Xpages应用程序中使用Apache POI库。现在,当将HCL Notes Designer升级到R11时,我们可以看到Apache POI在版本4.1.1的jvm\ext文件夹中可用(由Notes本身使用,请参阅https://nevermind.dk/nevermind/blog.nsf/subject/an-important-change-in-hcl-notes-v11)。这里有个问题..。我们的应用程序使用Apache POI 3.x,Apache POI libs区域附加到数据库设计中的‘jar’中,但由于某些原因,设计人员使用的是来自文件系统的较新版本,而不是我们的。Apache POI 4.x和3.x在某些方面不兼容,因此存在编译错误。
这种情况的解决方案是什么?应用程序应该在R9服务器上运行,我们不应该仅仅因为HCLNotes4.x内部使用Apache POI4.x就重写这些应用程序。有没有办法强制应用程序使用附加在我们的应用程序中的Apache POI?
发布于 2021-04-14 20:21:56
与HCL技术支持讨论,得到的答案是,当升级到R11时,除了更新我们的应用程序代码之外,没有其他方法。请记住,Apache POI4.x和更高版本需要Java8,因此在进行代码更新时至少需要Domino R9 FP8或更高版本。
但通常在运行Apache时这样做会更好,因为通过这种方式,两个R9 FP8+版本都可以暂时使用。因此,我们可以将代码迁移到POI4.1.1,然后进行R11升级。这个POI问题与xPages和Java代理相关,如果那里使用Apache POI的话。这是我们的案子..。
发布于 2021-04-19 18:21:37
这就是ext文件夹中jars的问题所在。它们优先于脚本库和代理中的任何内容。可以通过创建自定义ClassLoader来解决此问题,但将代码更新到新的POI版本似乎是更好的选择
https://stackoverflow.com/questions/66155713
复制相似问题