我有一个XPage应用程序,我在其中一个托管bean中使用JavaMail。目前我已将jar文件C:\Programme\IBM\Notes\framework\shared\eclipse\plugins\com.ibm.designer.lib.javamail_9.0.0.20130301-1431\lib\mail.jar
添加到manged bean的构建路径中。这很好用。但现在我想使用更新版本的JavaMail,因为Domino服务器使用的是1.3版,但我需要1.4.x版。
我从Oracle下载了新的JavaMail jar文件。在Domino Designer(版本9)中,我将此jar文件添加到新设计元素“Code / Jars”中,并从构建路径中删除旧的jar文件。
我的托管bean仍在编译并按需运行,但是如果我检查bean正在使用它的版本,则报告仍然是版本1.3。要检查版本号,我使用JavaMail的debug属性,并将其报告版本1.3到多米诺骨牌服务器控制台。
有没有办法告诉多米诺骨牌服务器使用应用程序中的jar文件(即nsf)而不是他自己的?是否有另一种方法来更新JavaMail版本?
我想使用较新版本的JavaMail的原因如下:我想从带有ssl的imap服务器读取邮件。为了避免导入ssl-certificates的问题,我只想信任所有主机。这可以通过MailSSLSocketFactory完成,但这仅在1.4.2版本之后可用。因此,我想使用更新版本的JavaMail。
我想使用更新版本的另一个原因如下:“IMAPFolder”的方法“getSortedMessages”仅在版本1.4.4之后可用。 (以及JavaMail的其他一些功能)。
答案 0 :(得分:1)
这对你来说可能有点晚了......我认为正确的方法可能是将jar文件包含为OSGi插件。
我花了一些时间来弄清楚如何做到这一点 - 最近成功了:-)我已经描述了在两篇文章中完成这项工作的步骤。第一个是将JAR包装到插件中:http://www.dalsgaard-data.eu/blog/wrap-an-existing-jar-file-into-a-plug-in/ - 第二个是关于部署(第一个中有一个链接)。
/约翰
答案 1 :(得分:0)
我在这里遇到了同样的问题,但找到了解决方案。请注意,这不是最好的答案,但它会起作用。只需下载最新的javamail jar here并将jar文件重命名为'mail.jar'。只需使用此文件替换IBM \ Notes \ framework \ shared \ eclipse \ plugins \ com.ibm.designer.lib.javamail_9.0.0.20130301-1431 \ lib \ mail.jar中的当前文件即可。退出http任务并重新启动它。该代码现在可以使用最新版本。
答案 2 :(得分:0)
您可以通过创建一个OSGi插件来解决问题,该插件取代了体现JavaMail库的插件: com.ibm.designer.lib.javamail 。 为此,请执行以下操作: