在WebSphere Application Server中升级JavaMail

时间:2014-08-23 19:47:40

标签: java java-ee websphere javamail classloader

有没有人有升级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中。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

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

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

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

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

希望它有助于(某人),Detlev

答案 1 :(得分:0)

我认为可从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上进行了测试