【问题标题】:Upgrade JavaMail in WebSphere Application Server在 WebSphere Application Server 中升级 JavaMail
【发布时间】:2014-08-23 19:47:40
【问题描述】:

有人有升级与 WAS 捆绑的 JavaMail 版本的经验吗?

我正在使用 WAS 8.5.5,它附带 JavaMail 1.4.2,我需要我的应用程序使用 1.4.5。不幸的是,由于应用程序的遗留特性,使用 parent last 类加载器模式不是一个选项。

除了存在于我的 EAR 文件中之外,我尝试将新的 jar 文件添加到扩展类路径(例如 jre/lib/ext),但在运行时 WAS 出于某种原因仍在使用 1.4.2。

JavaMail 1.4.2 代码包含在j2ee.jar 以及分散在整个 WAS 安装中的其他几个 jar 中。

有什么想法吗?

【问题讨论】:

    标签: java jakarta-ee websphere jakarta-mail classloader


    【解决方案1】:

    偶然发现了同样的问题并解决了它:

    • 在 ../AppServer/plugins 下,下载 com.ibm.ws.prereq.javamail.jar。
    • 从网上下载你要使用的javax.mail-[version].jar。
    • 例如使用 WinRAR 将 plugin.xml 从 IBM jar 放入 Oracle javax.mail-[version].jar。
    • 将 javax.mail-[version].jar 重命名为 com.ibm.ws.prereq.javamail.jar 并替换上述目录中的文件。
    • 重新启动您的 appServer(s)

    如果你使用资源下的javaSession(ws管理控制台),在那里激活DEBUG并检查日志,新版本确实被考虑在内。

    我建议将相同的主要版本替换为最新版本(例如,将 1.4.2-IBM 替换为 1.4.7-Oracle,而不是 1.5.x)。但这只是出于一般原因。当然,IBM 不支持这种变化! :-)

    希望它对(某人)有所帮助,Detlev

    【讨论】:

    • 这是非常糟糕的做法:第一,它会使您的 WebSphere 不受支持,第二 - 如果您稍后安装任何官方修订包,它可能会被覆盖。因此,如果您发现 java-mail 存在严重问题,最好创建 PMR 并获得官方修复。
    【解决方案2】:

    我认为 oracle 提供的最新 javamail 版本是 javamail 1.4.7(发送邮件的 TLS 问题已在版本 1.4.5 上修复)。您可以从 oracle 下载 javamail_1.4.7 并按照上面的说明进行操作。

    或者,我已经更新了插件并准备复制和粘贴,你可以在这个link上下载它

    在 WebSphere\AppServer\plugins 中粘贴并替换更新的文件 (com.ibm.ws.prereq.javamail.jar) (您必须将默认的 com.ibm.ws.prereq.javamail.jar 替换为您从我的链接下载的文件,请确保在进行一些更改之前备份该文件)

    注意:此修复已在 IBM WAS 8.5 上测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-08
      • 2012-03-19
      相关资源
      最近更新 更多