如何选择要在OSGI包中使用的库版本

时间:2015-03-16 09:33:09

标签: java osgi jira-plugin javax.mail

我开发jira插件,我应该发送带图像的电子邮件。 javax.mail-1.4.5有一个错误,它在javax.mail-1.4.7中得到修复 我尝试了很多,但是在jira上部署插件时无法使用我的javax.mail版本(1.4.7)。它一直使用来自root类加载器的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,我想在这里使用另一个版本的库?

1 个答案:

答案 0 :(得分:-1)

将特定库添加到项目的类路径中。或者,如果您正在使用Maven,只需编辑pom.xml文件即可。