0

我的包定义了一个接口,以及一个使用该接口实现来调用它们的组件(如果存在一些......)。

一个很好的类比是 LogService;如果存在一个(或多个),则使用消息调用它们。

这是我的 DS 声明:

@Reference(cardinality= ReferenceCardinality.MULTIPLE,
        policy = ReferencePolicy.DYNAMIC,
        service = ITestResultsParserService.class)
public void bindTestResultsParser(ITestResultsParserService parser) {
    testResultsParserServices.add(parser);
}
public void unbindTestResultsParser(ITestResultsParserService parser) {
    testResultsParserServices.remove(parser);
}

所以我希望我的包能够在有或没有该服务实现的情况下进行部署。

然而,这就是日食给我的:

日食要求

为什么?这根本不是要求!这显然是可选的。

我发现这张票似乎在谈论这个问题,但不清楚为什么它被关闭了。如票证中所述,我将此添加到我的 bnd.bnd 中:

-resolve.effective: 活跃;skip:="osgi.service"

4

1 回答 1

0

由于这是一个已修复的错误,而不是一个可能答案的问题,我将关闭它。

于 2015-06-08T12:42:38.340 回答