У меня проблема с примером OSGi как проекта maven.
NetBeans: http://netbeans.org/kb/docs/javaee/maven-osgi-declarativeservices.html или существует версия, отличная от Netbeans, которая дает идентичные результаты (blogs.oracle.com / arungupta / entry / totd_124_osgi_declarative_services)
Я попытался выполнить оба набора инструкций на двух разных платформах OSX / Windows и всегда сталкиваюсь с одной и той же проблемой.Я развертывался на стабильной glassfish 3.1.
Я заархивировал свои проекты, которые я создал в одной из моих попыток, и их можно найти здесь: https://infra01.gimi.ox.ac.uk:8443/~douglas/problems/OSGiMavenProblem-20110616.zip
Единственное изменениеПо сравнению с инструкциями я обнаружил, что должен изменить зависимость org.apache.felix.scr.annotations на 1.4 из-за:
Не удалось выполнить цель org.apache.felix: maven-scr-plugin: 1.7.0: scr (generate-scr-scrdescriptor) для проекта helloservice: Пожалуйста, используйте org.apache.felix: org.apache.felix.scr.annotations версия 1.4.0 или новее.
Кажется, все идет по плану до самого конца.Я развертываю приложение веб-клиента, но у меня возникает проблема с инъекцией:
HTTP Status 500 -
тип Отчет об исключении
message
descriptionTheСервер обнаружил внутреннюю ошибку (), которая помешала ему выполнить этот запрос.
исключение
javax.servlet.ServletException: PWC1392: Ошибка при создании экземпляра класса сервлета com.mycompany.mavenhellowebclient.HelloClient. Основная причина
com.sun.enterprise.container.common.spi.util.InjectionException: Ошибка создания управляемого объекта для класса com.mycompany.mavenhellowebclient.HelloClient. Основная причина
com.sun.enterprise.container.common.spi.util.InjectionException: Исключительная ситуация при попытке ввести Env-Prop: com.mycompany.mavenhellowebclient.HelloClient/helloService@Field-Injectable Resource.Имя класса = com.mycompany.mavenhellowebclient.HelloClient Имя поля=helloService@java.lang.String @@@ в класс com.mycompany.mavenhellowebclient.HelloClient основная причина
javax.naming.NamingException: поиск не выполнен для 'Java: comp / env / com.mycompany.mavenhellowebclient.HelloClient / helloService 'в SerialContext [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.staory.com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs = com.sun.enterprise.naming} [Исключением корня является javax.naming.NamingException: поиск не выполнен для 'hello-service 'в SerialContext [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs = com.sun.enterprise.naming, com.sun.enterprise.naming.logicalName = java: comp / env / com.mycompany.mavenhellowebclient.HelloClient / helloSerнедостаток} [Исключением корня является javax.naming.NameNotFoundException: hello-service not found]] первопричина
javax.naming.NamingException: не удалось выполнить поиск для «hello-service» в SerialContext [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs= com.sun.enterprise.naming, com.sun.enterprise.naming.logicalName = java: comp / env / com.mycompany.mavenhellowebclient.HelloClient / helloService} [Исключением корня является javax.naming.NameNotFoundException: служба приветствия не найдена] первопричина
javax.naming.NameNotFoundException: hello-service not found
Любые предложения будут высоко оценены, так как я действительно застрял в своих треках на данный момент.
Дуглас