根据上面评论中的讨论,问题在于设置maven插件来生成scr描述符而不是注释本身的使用。
有关这些注释如何工作的一些其他信息:
在创建包以生成xml文件时,实际上会处理注释。它是在OSGI容器中使用的生成的XML输出。如果您有理由相信您使用的注释是正确的,那么请验证已生成的xml。
在AEM 6.3之前,一般的做法是使用felix scr注释和maven-scr-plugin。从6.3开始,您可以使用官方OSGI包中的注释,这是在R6中添加的,因此不推荐使用felix注释。您不再需要maven-scr-plugin和maven-bundle-plugin将处理OSGI R6注释。
由于它是容器使用的xml,因此没有理由从< 6.3停止处理6.3的服务声明。如果存在问题,通常在构建设置中。
生成的scr描述可以在工作区目标/ classes / OSGI-INF&的以下位置找到。目标/类/ META-INF。
如果您使用OSGI R6注释和maven-bundle-plugin并且看不到生成的xml文件,请添加 <exportScr>true</exportScr> 到POM中的插件配置的配置部分。 Adobe原型生成的POM从版本12开始跳过此设置
<exportScr>true</exportScr>