如何在Bluemix上的IBM xpages运行时添加第三方jar文件

时间:2015-11-16 08:17:45

标签: plugins jar xpages ibm-cloud

我是Bluemix新手的Xpage开发人员,试图找到一种方法将第三方jar文件放在服务器上。尝试以下方式:

1)在WebContent / WEB-INF / lib文件夹下的nsf中添加jar文件并配置构建路径。

2)使用jars设计元素在nsf中添加jar文件并配置构建路径。

3)由于bluemix允许使用shared-plugins文件夹部署插件,我按照链接指向的文档从jar文件中创建了一个插件 http://www.dalsgaard-data.eu/blog/wrap-an-existing-jar-file-into-a-plug-in/ 并在设计器和服务器上部署了插件。

上述案例均未奏效。抛出错误java.lang.NoClassDefFoundError

即使在不在bluemix上的测试服务器上,上述所有情况都会失败。但是,当jar放在服务器上的jvm / lib / ext文件夹下时,应用程序正常工作。由于我们无法访问文件系统,因此无法在bluemix上执行此操作。

有没有办法将jar文件放在bluemix上的jvm / lib / ext文件夹下,或者如何让它工作呢?

由于

2 个答案:

答案 0 :(得分:4)

我在我的测试bluemix应用程序中使用了几个外部jar我需要一些代码来显示你是如何尝试访问jar中的类的。我可以用更多信息更新我的答案

不,你不能将jar放在Bluemix的jvm / lib / ext文件夹中我所知道的

抱歉没有看到你试过这个 这是如何在Tony McGuckin的Bluemix中完成的 如果你包含一个"共享插件"应用程序部署目录的根目录下的目录,并在此目录中包含OSGi插件,然后该目录及其内容将合并到XPage Runtime OSGi位置,并在暂存期间加载到运行时内存空间。

例如:<my-app-deployment-dir>/shared-plugins/hello.world.jar

https://developer.ibm.com/answers/questions/202235/install-osgi-plugins-in-xpages-for-bluemix.html

答案 1 :(得分:0)

问题在于其中一个jar文件的清单文件需要一个插件(该插件被操作并以不同的名称推送)。因此它抛出了错误java.lang.NoClassDefFoundError。

通过更改插件名称和版本来解决此问题。 谢谢大家的回复