2015-05-25 4 views
3

Я переношу на bndtools некоторые плагины osgi, которые я создал и работали в стандартной среде Eclipse. Я добавил Felix Web Console и Jetty HTTP Service и выгружен некоторые Equinox пучков с Felix эквивалентов.Пульт рестайла в osgi (bndtools) не запускается. Ошибка активатора com/sun/net/httpserver/HttpHandler

Когда я запускаю один конкретный комплект, который требует org.restlet.jar, комплект разрешается, но не активируется. И выход консоли:

____________________________ Добро пожаловать в Apache Felix Гого

г! 2015-05-25 00: 06: 33.471: INFO: oejs.Server: jetty-7.xy-SNAPSHOT 2015-05-25 00: 06: 33.545: INFO: oejsh.ContextHandler: начато oejsServletContextHandler {/, null } 2015-05-25 00: 06: 33.620: INFO: oejs.AbstractConnector: Started [email protected]: 8080! Не удалось запустить пакет org.restlet-2.3.2.v20150501-1520, исключение ошибка активатора ком/ВС/сеть/HTTPServer/HttpHandler от: org.restlet.engine.Engine: registerDefaultConnectors # 839

Я пробовал решения, основанные на других вопросах, а именно this one, который рекомендует установить свойство запуска (предположительно, в моем bndtools .bnd файле), а другое - предлагать активировать приложение Restart с использованием фрейм-приемника - но это не так работа для меня, и консольный вывод был таким же.

Я все еще учусь, и я был бы признателен за любую помощь, ведущих к решению, или советы по любым методам или функции, которые bndtools или Eclipse, может предложить, чтобы помочь мне проследить это его дело.

Кстати, Веб-консоль Felix работает как необходимый комплект для этого же плагина.

Вот моя конфигурация bndtools:

Bundle-Version: 0.0.0.${tstamp} 
Service-Component: \ 
    * 
-runfw: org.apache.felix.framework;version='[4,5)' 
-runee: JavaSE-1.7 
-runsystemcapabilities: ${native_capability} 

-resolve.effective: active;skip:="osgi.service" 


-buildpath: \ 
    osgi.core,\ 
    osgi.cmpn,\ 
    biz.aQute.bnd.annotation,\ 
    org.apache.felix.log,\ 
    com.fiscio.api;version=latest,\ 
    osgi.enterprise,\ 
    org.restlet,\ 
    org.restlet.ext.json,\ 
    org.json 

-runbundles: \ 
    com.fiscio.api;version=latest,\ 
    org.apache.felix.configadmin;version='[1.8.0,1.8.1)',\ 
    org.apache.felix.gogo.command;version='[0.14.0,0.14.1)',\ 
    org.apache.felix.gogo.runtime;version='[0.16.2,0.16.3)',\ 
    org.apache.felix.gogo.shell;version='[0.10.0,0.10.1)',\ 
    org.apache.felix.http.jetty;version='[2.2.2,2.2.3)',\ 
    org.apache.felix.log;version='[1.0.1,1.0.2)',\ 
    org.apache.felix.metatype;version='[1.0.10,1.0.11)',\ 
    org.apache.felix.scr;version='[1.8.2,1.8.3)',\ 
    org.apache.felix.webconsole;version='[4.2.2,4.2.3)',\ 
    org.json;version='[1.0.0,1.0.1)',\ 
    org.restlet;version='[2.3.2,2.3.3)',\ 
    org.restlet.ext.json;version='[2.3.2,2.3.3)',\ 
    osgi.cmpn;version='[5.0.0,5.0.1)',\ 
    osgi.enterprise;version='[4.2.0,4.2.1)' 

-runrequires: \ 
    osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\ 
    osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\ 
    osgi.identity;filter:='(osgi.identity=org.apache.felix.webconsole)',\ 
    osgi.identity;filter:='(osgi.identity=org.apache.felix.configadmin)',\ 
    osgi.identity;filter:='(osgi.identity=org.apache.felix.metatype)',\ 
    osgi.identity;filter:='(osgi.identity=org.apache.felix.log)',\ 
    osgi.identity;filter:='(&(osgi.identity=osgi.cmpn)(version>=4.2))',\ 
    osgi.identity;filter:='(&(osgi.identity=org.apache.felix.scr)(version>=1.6.0))',\ 
    osgi.identity;filter:='(osgi.identity=org.apache.felix.http.jetty)',\ 
    osgi.identity;filter:='(osgi.identity=com.fiscio.api)',\ 
    osgi.identity;filter:='(osgi.identity=org.json)',\ 
    osgi.identity;filter:='(osgi.identity=org.restlet.ext.json)',\ 
    osgi.identity;filter:='(osgi.identity=org.restlet)' 

## Uncomment if you need to change the HTTP port 
-runproperties: org.osgi.framework.system.packages.extra = com.sun.net.httpserver 

Private-Package: \ 
    com.fiscio.rest,\ 
    com.fiscio.rest.resources 

ответ

4

Оказывается, что другие ответы, данные на этот вопрос на stackoverflow.com таких как this one были правильными, за исключением того, что установка -runproperties: org.osgi.framework.system.packages.extra = com.sun.net.httpserver не достичь желаемого результата в bndtools запуск конфигурации. bndtools FAQ предлагает следующее, что решить мою проблему:

Обратите внимание, что с помощью команды -runsystempackages эквивалентно устанавливающего OSGi свойства org.osgi.framework.system.packages.extra; , однако лучше использовать -runsystempackages, потому что тогда Run Требования к распознавателю внутри Bndtools будут учитывать наличие этих пакетов во время разрешения .

 Смежные вопросы

  • Нет связанных вопросов^_^