Die Bereitstellung eines Krieges, um Jetty mit CDI

Ich habe ein maven-Projekt in IntelliJ, wo ich versucht bin, für die Bereitstellung einer war-Datei auf einem jetty-container. Der Zweck dieser ist für eine schnelle integration test einige Funktionen gesagt war-Datei.

Da aus der box Jetty nicht über CDI oder JNDI, ich bin versucht, um Unterstützung für diese, sondern laufen in einige Probleme. Zum Beispiel, bekomme ich die folgende Fehlermeldung beim Start:

15:30:50 [34mINFO [0;39m o.a.s.c.CdiObjectFactory - [lookup]: Checking for BeanManager under JNDI key java:comp/BeanManager 
15:30:50 [39mDEBUG[0;39m o.a.s.c.CdiObjectFactory - [lookup]: BeanManager lookup failed for JNDI key java:comp/BeanManager 

Ich habe die weld-servlet jar in mein pom und auch die Schweißnaht-listener, um die web.xml aber es funktioniert immer noch nicht. Ich bin mit Jetty 9. Irgendwelche Ideen?

pom.xml

    <dependency>
        <groupId>org.jboss.weld.servlet</groupId>
        <artifactId>weld-servlet-core</artifactId>
        <version>2.0.4.Final</version>
    </dependency>

web.xml

<listener>
  <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>
<resource-env-ref>
   <description>Object factory for the CDI Bean Manager</description>
   <resource-env-ref-name>BeanManager</resource-env-ref-name>
   <resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
</resource-env-ref>
  • Habe das problem gefunden. Es stellt sich heraus, dass der class-loader war immer verwirrt auf, wo man die entsprechende SCHWEIßNAHT unterstützt. Ich hatte weld-servlet als angegeben in meiner pom, aber der Krieg, ich war die Bereitstellung hatte auch noch andere Gläser zu bringen, dass in der Schweißnaht als auch. Ich getrennt das Projekt, das ab jetty in eine neue IntelliJ-Projekt und es hat Prima funktioniert. Vielen Dank für alle Ihre Vorschläge.
InformationsquelleAutor user2533384 | 2013-12-09
Schreibe einen Kommentar