【发布时间】:2015-03-16 09:33:09
【问题描述】:
我开发 jira 插件,我应该在其中发送带有图像的电子邮件。 javax.mail-1.4.5 有一个错误,已在 javax.mail-1.4.7 中修复 我尝试了很多,但是当部署在 jira 上的插件告诉我使用我的 javax.mail 版本(1.4.7)时,我无法做到。它一直使用来自根类加载器的 javax.mail-1.4.5。 我一直收到下一个例外:
java.lang.LinkageError: loader constraint violation: when resolving overridden method "javax.mail.internet.MimeMessage.getDataHandler()Ljavax/activation/DataHandler;" the class loader (instance of org/apache/felix/framework/ModuleImpl$ModuleClassLoader) of the current class, javax/mail/internet/MimeMessage, and its superclass loader (instance of org/apache/catalina/loader/WebappClassLoader), have different Class objects for the type getDataHandler used in the signature
at com.solarwinds.MailSenderJob.buildSimpleMessage(MailSenderJob.java:163)
接下来我的问题是:如何告诉 OSGi,我想在这里使用另一个版本的库?
【问题讨论】:
-
那么你将 javax.mail jar 安装到 Jira 的嵌入式 OSGi 容器中了吗?
-
我尝试使用 jira 嵌入的 javax.mail,也在我的 pom.xml 中选择了所需的 javax.mail 版本。似乎没有进行任何更改,并且来自根类加载器的 javax.mail 仍然在我的插件中工作。
标签: java osgi jira-plugin jakarta-mail