我有一个为Apache 4.0.5开发的组件。然而,它需要部署在glassfish 4上,这是基于一个更老版本的Felix。当我试图部署它时,我会收到这样的消息:
missing requirement [319.0] osgi.extender; (&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0)))但是,我的pom文件没有显示任何对osgi.component的显式依赖。我想我一定使用了一些OSGI R5 (或者R6?)具体的特性,但我不知道哪一个会导致这个错误。
我如何说服glassfish接受我的包,或者更改包的构建/ pom,以便在尝试使用依赖于R5或更高版本的OSGI特性时得到警告?
发布于 2016-11-15 13:37:24
您可能正在使用bnd的最新版本来生成包及其元数据。当您的包有DS组件时,bnd将生成对osgi.component扩展程序(这是DS)的需求,或者您需要DS1.3中的一些新内容,比如字段注入,或者您使用的是Bnd的最新版本。
可以使用bnd指令在包中禁用需求的生成:
-dsannotations-options: norequirements
https://bnd.bndtools.org/instructions/dsannotations-options.html
https://stackoverflow.com/questions/40604131
复制相似问题