当前位置: 首页 > 知识库问答 >
问题:

如何在XPages中使用JavaMail的更新版本?

黎曾笑
2023-03-14

我有一个XPage应用程序,在其中一个托管bean中使用JavaMail。目前,我已经将jar文件c:\programm\ibm\notes\framework\shared\eclipse\plugins\com.ibm.designer.lib.javamail_9.0.0.20130301-1431\lib\mail.jar添加到了管理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版报告给domino服务器控制台。

有没有办法告诉domino服务器使用应用程序(即nsf)中的JAR文件,而不是自己的?是否有其他方法来更新JavaMail版本?

我想使用一个较新版本的JavaMail的原因如下:我想读取来自一个带有SSL的imap服务器的邮件。为了避免导入SSL证书的问题,我只想信任所有主机。这可以通过MailSSLSocketFactory完成,但这只在1.4.2版之后才可用。因此,我想使用一个较新版本的JavaMail。

共有1个答案

宗啸
2023-03-14

您可以通过创建一个OSGi插件来解决这个问题,该插件取代了运动JavaMail库的插件:com.ibm.designer.lib.JavaMail。为此,请执行以下操作:

  1. 创建一个id为com.ibm.designer.lib.javamail的OSGi插件(Dalsgaard的教程)
  2. 将其版本设置为高于Domino服务器附带的版本(要了解版本类型,请告诉http osgi ss com.ibm.designer.lib.javamail)。到目前为止,使用9.0.1.qualifier应该很好
  3. 通过更新站点或直接将其复制到Domino\workspace\applications\eclipse\plugins文件夹下部署插件。
  4. 重新启动HTTP服务。现在将使用您创建的更高版本
 类似资料:
  • 在构建一个插件时,我会遇到一个“找不到类”的异常 有人已经设法创建了插件或类加载器XPages就这样杀死了?

  • 我想构建一个XPage来用JavaMail检索电子邮件。使用imap提供者(例如session.getStore("imap "))连接到服务器没有问题。但是现在我想通过imaps (session.getStore("imaps "))连接到邮件服务器。我得到的只是一个例外“没有任何东西”。 如果我看一下与会话一起注册的提供商,只有POP3,SMTP和IMAP;没有 IMAPS。 有没有办法将I

  • 我尝试在Intellijidea中打开Maven项目。这个项目使用了spark和Scala。当我跑的时候: 则会给出错误: [错误]无法执行目标org.scalastyle:scalastyle-maven-plugin:0.7.0:项目spark-mllib_2.10:scalastyle执行期间失败:您有50个scalastyle冲突 我认为问题出在Maven的版本上。实际上,在Intelli

  • Scala-2.11.8 文件夹位于“/home/hdadmin/”位置。 但是,当我再次检查scala-version时,它仍然显示了相同的2.9.2版本。它正在从 我需要知道是否有一个直接的方法来更新scala版本。

  • 目前我的gradle有这样一行:implementation'com。谷歌。firebase:firebase存储:16.0.4' 我需要使用19.1.0版,但每次更改时都会出现以下错误: 错误:清单合并失败:属性application@appComponentFactory值=(android.support.v4.app.CoreComponentFactory)来自[com.android.