根据此文档链接:
如果service不是availibale,则SlingScriptHelper.getService返回null。
您能否解释服务不可用的情况以及如何强制服务?
编辑:
组件视图:
相关日志:
22.09.2014 19:13:17.077 *ERROR* [FelixStartLevel] ****** bind method [bindResolverFactory] not found; Component will fail
22.09.2014 19:13:17.078 *ERROR* [FelixStartLevel] ****** Error during instantiation of the implementation object (java.lang.VerifyError: Expecting a stackmap frame at branch target 13
Exception Details:
Location:
*******.unbindConfigurator(L********Configurator;)V @5: if_acmpne
Reason:
Expected stackmap frame at this location.
Bytecode:
0000000: 2ab4 0086 2ba6 0008 2a01 b500 86b1
) java.lang.VerifyError: Expecting a stackmap frame at branch target 13
Exception Details:
Location:
*****.unbindConfigurator(L*****;)V @5: if_acmpne
Reason:
Expected stackmap frame at this location.
Bytecode:
0000000: 2ab4 0086 2ba6 0008 2a01 b500 86b1
答案 0 :(得分:0)
我看到一些服务可能无法使用的原因:
您可以在OSGi控制台中查看1
和2
,3
您需要检查日志。要修复它,1
很明显,请安装捆绑包。对于2
,您需要检查无法解析的依赖项,然后您需要检查导出依赖项的bundle是否正在运行。对于3
,它可能是代码中的问题或无效配置或引用的服务不可用,这可能是以下三个原因中的任何一个。
答案 1 :(得分:0)
它看起来像java兼容性问题。 Java 7为类文件引入了新的验证。如果该方法是在运行时通过字节码生成的,如果字节码版本不匹配则可能导致问题。
你在运行哪个版本的cq?你编译的是哪个版本的java?您可以尝试使用java 6目标进行编译。