繁体   English   中英

从Maven2到OSGI捆绑

[英]from Maven2 to OSGI bundle

我想在OSGI包中转换Maven2项目。 我正在尝试使用应根据maven依赖关系创建清单的maven-bundle-plugin 问题是我无法设法让它工作。 当我安装并运行生成的捆绑软件时,总会出现类似以下错误:

org.osgi.framework.BundleException: The bundle "My_OSGI_Bundle" could not be resolved. Reason: Missing Constraint: Import-Package: com.sun.javadoc;

每次我在maven-bundle-plugin中手动添加缺少的约束。 但是总是存在另一个缺失的约束。 现在,我陷入了无法以任何方式添加的com.sun.javadoc。 无论如何...我无法手动添加所有软件包! 请问您有更好的主意吗? 谢谢

===更新===

没有在export标签中添加任何内容,bundle运行给我的第一个错误是:

org.osgi.framework.BundleException: The bundle "Partes_0.1.0.SNAPSHOT [55]" could not be resolved. 
Reason:Missing Constraint: Import-Package: com.eviware.soapui.config; version="0.0.0" at
org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1327) at 
org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1311) at ..

此错误意味着您包中的某些内容取决于com.sun.javadoc ,例如,直接从代码中使用该API的结果。 您需要找到一个导出该API的捆绑软件。

您现在可能会说您实际上并没有使用com.sun.javadoc 我相信您可能已经将大量额外的第三方依赖项拖入了您的捆绑软件中……短语“每次我手动添加缺少的约束项”都会引起警钟! 因此,依赖关系可能存在于根本不应该包含在捆绑软件中的东西中。

最好的办法是回到开始之前,开始为包中添加随机位,以使问题消失。 也就是说,请确保您的捆绑包仅包含您的代码。 然后找出丢失的导入是什么,并找到导出它的捆绑包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM