导入到XPages项目的插件不工作

导入到XPages项目的插件不工作,xpages,Xpages,在一些XPages应用程序中,我试图利用作为Domino一部分安装的org.apache.commons.lang包。我将它添加到requires部分的plugin.xml中: 这允许我使用这个包,编译代码并成功运行它。我可以将设计向下刷新到测试数据库中,尽管我需要再次添加导入语句,因为设计刷新过程不会更新plugin.xml,但这在我的开发服务器(8.5.2 FP3和8.5.2 FP1)上也有效 但是,当我尝试在不同的服务器上运行相同的代码时,它失败了,org.apache.commons.

在一些XPages应用程序中,我试图利用作为Domino一部分安装的org.apache.commons.lang包。我将它添加到requires部分的plugin.xml中:

这允许我使用这个包,编译代码并成功运行它。我可以将设计向下刷新到测试数据库中,尽管我需要再次添加导入语句,因为设计刷新过程不会更新plugin.xml,但这在我的开发服务器(8.5.2 FP3和8.5.2 FP1)上也有效

但是,当我尝试在不同的服务器上运行相同的代码时,它失败了,org.apache.commons.lang出现ClassDefNotFoundError。这在许多不同的Domino版本和多个数据库上都失败了。如果我清理数据库并重建它,代码可以很好地编译,但在运行时仍然会抛出错误

我的开发服务器的安装是跨两个驱动器分区的,但我不希望将导入添加到plugin.xml会在后台某处存储文件路径

我还尝试将jar导入数据库并将其作为引用库添加到构建路径中,但再次出现ClassDefNotFoundError


我的建议是创建一个空的XSP库,指定必要的依赖项,然后将其设置为全局库(换句话说,您不必显式地将其设置为每个应用程序的依赖项)。这显然有些过分,但几乎可以肯定会起作用。

远不理想,但我在WebContent\WEB-INF下创建了一个名为lib的文件夹,并将jar文件导入其中。此路径中的lib文件夹将自动包含在生成路径中,因此该文件夹中的任何内容都将自动变为可用。在与其他人交谈之后,这可能会被另一个类加载器加载,因此不会与服务器版本冲突。这并不理想,但我知道有几个人正在为这个和其他Apache库问题开发更好的解决方案,所以希望这很快就会出现。当有更好的解决方案时,我会添加一条评论。

Paul,我想你是说manifest.mf,对吗?您是否输入了所需插件或导入包的依赖项?您是否从ApacheInt NSF导入了插件jar或标准jar?忽略我的问题。我以为您在谈论将包添加到扩展库而不是NSFsXpages developer,我从Domino安装位置导入了jar。奇怪的是,它只能在一台服务器上工作,而不能在其他服务器上工作。我会记住这一点。我想了解Domino附带的1500个软件包,并在需要时使用它们。所以作为一个可扩展的选项,一个全局库是不可取的。现在我知道了如何创建一个全局库(感谢你在第9集中的注释),我需要尝试一下。它仍然需要应用到所有服务器/客户端,但应该可以工作。不,没有工作。我认为它与服务器上的版本冲突,这会引发错误。然而,我得到了一个解决方案,如下所示