我有用于发送邮件的 OSGi 包,因此它使用来自mail-1.4.jar的com.sun.smtp包。但是 OSGi 服务无权访问这个 jar。
你能帮我吗,如何配置 Maven POM 文件,以便将mail-1.4.jar包含在我的包 jar 中,以便 OSGi 服务可以使用它?
编辑
错误是:
javax.mail.NoSuchProviderException:无法找到协议的提供者:smtp
昨天,我遇到了同样/相似的情况。尝试以下操作:
将以下行添加到您的依赖项列表中:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.1</version>
</dependency>
希望它确实有帮助
我建议不要在您的捆绑包中包含邮件罐。更好的方法是在 osgi 运行时简单地安装 mail.jar。
你必须确保你有两件事来完成这项工作:
尝试将此代码添加到您的 pom.xml
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
或者
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.2</version>
</dependency>
这可能会帮助你!