首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Maven -在jar中包含引用库

Maven -在jar中包含引用库
EN

Stack Overflow用户
提问于 2013-01-08 11:59:00
回答 3查看 2K关注 0票数 3

我有用于发送邮件的OSGi包,所以它使用来自mail-1.4.jar的com.sun.smtp包。但是OSGi服务不能访问这个jar。

您能帮我吗?如何配置Maven POM文件,以便mail-1.4.jar将包含在我的bundle jar中,以便OSGi服务可以使用它?

编辑

错误是:

javax.mail.NoSuchProviderException:无法找到协议提供程序: smtp

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-09 09:13:26

我建议不要把信罐装在你的包里。更好的方法是简单地在osgi运行时中安装mail.jar。

你必须确保有两件事可以让你做到这一点:

  1. 确保在您自己的包清单中导入所需的包。通常,只需使用默认的maven包插件就可以做到这一点,但是您应该检查最终的Manifest
  2. 将mail.jar部署到OSGi运行时。如果您正在使用apache,那么只需做: mvn安装-s mvn:javax.mail/mail/1.4.4,如果没有,下面的jar应该会有所帮助。它包含一个正确的OSGi部署http://search.maven.org/#artifactdetails|javax.mail|mail|1.4.4|jar报表文件。
票数 2
EN

Stack Overflow用户

发布于 2013-01-08 12:04:48

是的,我也面临着同样的/类似的情况。尝试以下几个方面:

将下面的行添加到依赖项列表中:

代码语言:javascript
运行
复制
<dependency>
 <groupId>javax.mail</groupId>
 <artifactId>mail</artifactId>
 <version>1.4.1</version>
</dependency>

希望这能帮上忙

票数 2
EN

Stack Overflow用户

发布于 2013-01-08 12:09:44

尝试将此代码添加到您的pom.xml

代码语言:javascript
运行
复制
<dependency>

   <groupId>javax.mail</groupId>
   <artifactId>mail</artifactId>
   <version>1.4</version>

</dependency>

代码语言:javascript
运行
复制
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.2</version>
</dependency>

这可能对你有帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14214459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档