Внедрение зависимостей не будет работать на Tomcat 7 с использованием Jersey и OpenWebBeans - PullRequest
3 голосов
/ 22 марта 2012

Я немного застрял в своей проблеме.Я пытаюсь запустить веб-сервис RESTful, используя Джерси, и объединить это с некоторым Внедрением Зависимостей, используя OpenWebBeans на Tomcat7.Кажется, что сама часть Джерси работает хорошо, но когда я создаю файл beans.xml, я получаю следующие ошибки ...

Итак, мы идем:

Я создал проект, используя Mavenв Eclipse:

File-> New-> Other-> Maven Project-> maven-archetype-webapp и добавили папку src / main / java

Дерево файлов выглядит следующим образом:

TJOWB| -Дескриптор развертывания| -Java ресурсы| --- SRC / основные / ресурсы| ----- META-INF| ------- beans.xml| --- SRC / главная / Java| ----- а| ------- Greeting.java| ------- Hello.java| --- Библиотеки| -JavaScript ресурсы| -Развлечения ресурсов| -pom.xml| -src| -main| --- ява| --- ресурсы| ----- META-INF| ------- beans.xml| --- WebApp| ----- index.jsp| ----- WEB-INF| ------- beans.xml| ------- web.xml| -target

Файл pom.xml:

(здесь отсутствует определение проекта в stackoverflow из-за не знаю, извините)

<modelVersion>4.0.0</modelVersion>
<groupId>a.b.c</groupId>
<artifactId>TJOWB</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>TJOWB Maven Webapp</name>
<url>http://maven.apache.org</url>

    <dependencies>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.12</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.12</version>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-tomcat7</artifactId>
        <version>1.1.3</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-impl</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-interceptor_1.1_spec</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-web</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-servlet_3.0_spec</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-ee-common</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jcdi_1.0_spec</artifactId>
        <scope>provided</scope>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-atinject_1.0_spec</artifactId>
        <scope>provided</scope>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-spi</artifactId>
        <version>1.1.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-resource</artifactId>
        <version>1.1.3</version>
    </dependency>

    </dependencies>
    <build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>

    <finalName>TJOWB</finalName>
   </build>

Web.xml:

Созданное архетипом веб-приложение

<listener>
    <listener-class>org.apache.webbeans.web.tomcat.ContextLifecycleListener</listener-class>
</listener>

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>a.b.c</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

Добавлено в

Tomcat / lib:

geronimo-atinject_1.0_spec-1.0.jarДжеронимо-interceptor_1.1_spec-1.0.jarДжеронимо-interceptor_3.0_spech-1.0.jarДжеронимо-jcdi_1.0_spec-1.0.jarjavassist_3.12.1.GA.jaropenwebbeans-осущ-1.1.3.jaropenwebbeans-ресурсов 1.1.3.jaropenwebbeans-СПИ-1.1.3.jaropenwebbeans-tomcat7-1.1.3.jaropenwebbeans-веб-1.1.3.jarscannotation-1.0.2.jar

В Tomcat /conf/server.xml

Listener className = "org.apache.webbeans.web.tomcat.ContextLifecycleListener" /

Hello.java:

package a.b.c;

import javax.annotation.ManagedBean; 
import javax.annotation.PostConstruct; 
import javax.inject.Inject; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

@Path("inject") 
public class Hello {

    @Inject
    private Greeting mGreeting;

    public Hello() {

    }

    @PostConstruct
    public void init() {

    }

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayPlainTextHello() {
       if (mGreeting != null)
            return mGreeting.greetUser();
        else
            return "Dependency Injection failed";
    }
}

Greeting.java:

package a.b.c;

public class Greeting {

    public String greetUser() {
        return "Hello";
    }
}

Итак, и теперь актуальные сообщения об ошибках:

Если нет beans.xmlв src / main / webapp / WEB-INF приложение работает нормально.По крайней мере, он запускается и Джерси работает;)

Но как только я создаю beans.xml ((как я полагаю), beans.xml содержит только теги beans, которые я не могу показать здесь (потому что я не знаю, как) и в противном случае emtpy) я получаю следующую трассировку стека:

Запуск Tomcat7:

Mrz 22, 2012 1:58:00 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in           production environments was not found on the java.library.path:         C:\glassfish3\jdk7\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program     Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program     Files/Java/jre6/lib/i386;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS    \System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program     Files\apache-maven-2.2.1-bin\apache-maven-    2.2.1\bin;C:\glassfish3\jdk7\bin;C:\Users\mvesper\Desktop\IndigoEE;;.
Mrz 22, 2012 1:58:00 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property     'source' to 'org.eclipse.jst.j2ee.server:TJOWB' did not find a matching property.
Mrz 22, 2012 1:58:00 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Mrz 22, 2012 1:58:00 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Mrz 22, 2012 1:58:00 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 421 ms
Mrz 22, 2012 1:58:00 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mrz 22, 2012 1:58:00 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
Mrz 22, 2012 1:58:01 PM org.apache.webbeans.web.lifecycle.WebContainerLifecycle     startApplication
INFO: OpenWebBeans Container is starting...
Mrz 22, 2012 1:58:01 PM org.apache.webbeans.plugins.PluginLoader startUp
INFO: Adding OpenWebBeansPlugin : [TomcatWebPlugin]
Mrz 22, 2012 1:58:01 PM org.apache.webbeans.web.scanner.WebScannerService     addWebBeansXmlLocation
INFO: added beans.xml marker:     file:/C:/Users/mvesper/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpweb    apps/TJOWB/WEB-INF/classes/META-INF/beans.xml
Mrz 22, 2012 1:58:01 PM org.apache.webbeans.web.scanner.WebScannerService     addWebBeansXmlLocation
INFO: added beans.xml marker: jndi:/localhost/TJOWB/WEB-INF/beans.xml
Mrz 22, 2012 1:58:01 PM org.apache.webbeans.config.BeansDeployer     validateInjectionPoints
INFO: All injection points were validated successfully.
Mrz 22, 2012 1:58:01 PM org.apache.webbeans.web.lifecycle.WebContainerLifecycle     startApplication
INFO: OpenWebBeans Container has started, it took [247] ms.
Mrz 22, 2012 1:58:01 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
  a.b.c
Mrz 22, 2012 1:58:01 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
  class a.b.c.Hello
Mrz 22, 2012 1:58:01 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
Mrz 22, 2012 1:58:01 PM     com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer initialize
INFO: CDI support is enabled
Mrz 22, 2012 1:58:01 PM com.sun.jersey.server.impl.application.WebApplicationImpl     _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.12 02/15/2012 04:51 PM'
Mrz 22, 2012 1:58:02 PM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.NoClassDefFoundError: javax/annotation/ManagedBean
    at             com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.getComponentProvider(     tProviderFactory.java:116)
    at         com.sun.jersey.server.impl.component.IoCResourceFactory.getComponentProvider(IoCResourceFac    tory.java:76)
    at     com.sun.jersey.server.impl.application.WebApplicationImpl.getResourceComponentProvider(WebA    pplicationImpl.java:582)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:660)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:655)
at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:124)
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1308)
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:171)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:777)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:773)
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:773)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:768)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:607)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: javax.annotation.ManagedBean
at     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
... 33 more

Mrz 22, 2012 1:58:02 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /TJOWB threw load() exception
java.lang.ClassNotFoundException: javax.annotation.ManagedBean
at     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.getComponentProvider(CDIComponentProviderFactory.java:116)
at com.sun.jersey.server.impl.component.IoCResourceFactory.getComponentProvider(IoCResourceFactory.java:76)
at com.sun.jersey.server.impl.application.WebApplicationImpl.getResourceComponentProvider(WebApplicationImpl.java:582)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:660)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiateResource(WebApplicationImpl.java:655)
at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:124)
at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1308)
at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:171)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:777)
at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:773)
at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:773)
at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:768)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:607)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

Mrz 22, 2012 1:58:02 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Mrz 22, 2012 1:58:02 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Mrz 22, 2012 1:58:02 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1212 ms

И когда я пытаюсь получить доступ к localhost: 8080 / TJOWB / rest/ inject:

Mrz 22, 2012 2:11:29 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
  a.b.c
Mrz 22, 2012 2:11:29 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
  class a.b.c.Hello
Mrz 22, 2012 2:11:29 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
Mrz 22, 2012 2:11:29 PM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.RuntimeException: javax.naming.NameNotFoundException: Name CDIExtension is     not bound in this Context
    at     com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:177)
    at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>    (CDIComponentProviderFactory.java:92)
    at     com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:75)
at com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:574)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:311)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:606)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: javax.naming.NameNotFoundException: Name CDIExtension is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:175)
... 26 more

Mrz 22, 2012 2:11:29 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet TestServlet
javax.naming.NameNotFoundException: Name CDIExtension is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:175)
at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:92)
at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:75)
at com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:574)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:311)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:606)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

Итак, прошу прощения, вот и все.

Пожалуйста, извините за мой английский и форматирование.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 26 апреля 2013

Прочтите мой пост здесь, чтобы увидеть решение для первой проблемы: Попытка использовать Джерси (JAX-RS) и Сварку (CDI) в Tomcat 7. Получение noClassDefFoundError для javax.annotation.ManagedBean .

И, пожалуйста, убедитесь, что способ загрузки CDI для tomcat корректен: это очень полезный ресурс по этому вопросу: http://java.dzone.com/articles/bootstrapping-cdi-several

Нику

0 голосов
/ 21 октября 2012

ОК, у меня была точно такая же проблема, и решение было довольно простым (хотя пришло полдня отладки)

Просто аннотируйте свой класс Hello с помощью @ManagedBean

...