首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用maven构建时,如何在osgi包中导入javax.smartcardio?

使用maven构建时,如何在osgi包中导入javax.smartcardio?
EN

Stack Overflow用户
提问于 2013-10-25 19:47:21
回答 2查看 2.1K关注 0票数 1

我试图向现有的osgi框架(www.ogema.org)中添加一个模块。我必须使用依赖于javax.smartcardio的库。我将库添加到本地存储库中,这似乎是可行的。但是,当我想启动使用这个库的包时,我会得到一个错误:

代码语言:javascript
复制
The bundle "org.ogema.examples.securitymodule-app_1.1.1 [12]" could not be resolved. Reason: Missing Constraint: Import-Package: javax.smartcardio; version="0.0.0"

如何将javax.smartcardio添加为依赖项?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-27 09:22:44

javax.smartcardio是JRE的一部分(至少在6,不确定它是否已经在5中,规范JSR 268是从2006年开始的,所以它可能在J5中)。

您的框架很可能不会导出这个包。您可以通过将org.osgi.framework.system.packages.extra框架属性设置为javax.smartcardio;version=1.0.0;jsr=268从框架导出此包( JSR或版本是可选的,但它是很好的文档)。

在bndtools中,您可以:

代码语言:javascript
复制
  -runsystempackages: \
    javax.smartcardio;version=1.0.0;jsr=268
票数 1
EN

Stack Overflow用户

发布于 2013-10-26 06:58:48

它已经作为依赖项添加了,所以这很好。问题是,在OSGi框架中没有导出javax.smartcardio包的包。对于包中的每个导入包,必须从另一个包导出相应的包。

我不熟悉Smartcard API,所以我无法提供如何找到导出它的包的建议。如果它可以作为普通JAR文件使用,那么您可能需要将它“包装”为一个OSGi包。

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

https://stackoverflow.com/questions/19598278

复制
相关文章

相似问题

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