Моего проекта состоит из следующих пучков, которые определяют декларативный Services с данными XML-файлами:OSGi- Framework будет регистрировать только определенные услуги
characterbuilder.gui
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="characterbuilder.gui">
<implementation class="characterbuilder.gui.ApplicationFrame"/>
<reference bind="setMenuScripting" cardinality="1..1" interface="characterbuilder.scripting.menu.IMenuScripting" name="IMenuScripting" policy="dynamic"/>
</scr:component>
characterbuilder .pluginmanager
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="characterbuilder.pluginmanager">
<implementation class="characterbuilder.pluginmanager.implementation.PluginManager"/>
</scr:component>
characterbuilder.scripting
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="characterbuilder.scripting">
<implementation class="characterbuilder.scripting.internal.CharacterBuilderScripting"/>
<reference bind="setGameSystem" cardinality="1..1" interface="characterbuilder.systemmanager.IGameSystem" name="IGameSystem" policy="static"/>
<reference bind="setXMLHandler" cardinality="1..1" interface="characterbuilder.xmlhandling.xmlhandler.IXMLHandler" name="IXMLHandler" policy="static"/>
<reference bind="setPluginManager" cardinality="1..1" interface="systemplugin.manager.IPluginManager" name="IPluginManager" policy="static"/>
<service>
<provide interface="characterbuilder.scripting.menu.IMenuScripting"/>
</service>
</scr:component>
characterbuilder.xmlhandling
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="character.builder.xml.handling">
<implementation class="characterbuilder.xmlhandling.implementation.XMLHandler"/>
<service>
<provide interface="characterbuilder.xmlhandling.xmlhandler.IXMLHandler"/>
</service>
</scr:component>
characterbuilder.dummysystem
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="DummySystem">
<implementation class="dummygamedefinition.systemmanager.DummySystemManager"/>
<service>
<provide interface="characterbuilder.systemmanager.IGameSystem"/>
</service>
</scr:component>
Когда я использую "службы" команду из консоли, чтобы получить все зарегистрированных услуг, только IXMLHandler и IGameSystem когда-либо регистрируются.
Я провел более дюжины часов в течение последних трех дней, пытаясь заставить эти службы работать правильно, и я хуже всего, чем когда я начал, потому что у меня все еще нет ни малейшего понятия, что делать, и когда Я начал, я не чувствовал себя таким расстроенным и глупым.
Я изменил их все в автозагрузку, и все они в настоящее время регистрации. Большое спасибо! – ThisIsNoZaku