使用 OSGi 服务时无法将获取服务解析为类型错误

Getting Service cannot be resolved to a type error while consuming OSGi service

我创建了一个组件,它使用 Cq5 中 OSGI 包的 sling 服务。 但是在使用它时会抛出错误,指出 com.aem.HelloService 无法解析为类型 , 在 http://localhost:4502/system/console/services.

下查看时

服务 运行 正常。

在您的网络控制台中查找您的 OSGI 包,例如可以在以下位置找到:

http://localhost:4502/system/console/bundles

然后在您的包的属性下查找名为 Symbolic Name 的 属性。示例如下:

这是您必须在 JSP 导入中使用的路径,例如,在 JSP 页面的顶部:

<%@page import="org.apache.sling.tooling.support.install%> //you might have to add .* at the end to import everything

然后还要确保您的 OSGI 服务 Java 文件已根据 Adob​​e 和其他文档正确注释和构建