Я следую приведенным здесь инструкциям, чтобы написать простой привет мир RP C: https://docs.opendaylight.org/en/stable-sodium/developer-guide/developing-apps-on-the-opendaylight-controller.html
В примере класса HelloProvider конструктор имеет вид:
public HelloProvider(final DataBroker dataBroker, final RpcProviderService rpcProviderService) {
this.dataBroker = dataBroker;
this.rpcProviderService = rpcProviderService;
}
, для которого требуется RpcProviderService, поэтому компиляция не удалась. Поэтому я добавил в impl / src / main / resources / OSGI-INF / blueprint / impl-blueprint. xml:
<reference id="rpcProviderService"
interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
odl:type="default" />
Это приводит к компиляции проекта, но не проходит на этапе тестирования:
Missing dependencies:
(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService)
(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMDataBroker)
(objectClass=org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry)
(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMMountPointService)
(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMRpcService)
(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMNotificationService)
(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMDataBroker)
(objectClass=org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService)
Пакет org.opendaylight.controller уже загружен, поэтому, возможно, я что-то упускаю. Любой совет?