ken
ken

Reputation: 471

CDI deployment failure:com/sun/enterprise/InjectionException

I've been trying to solve the Problem here: Previous Deployment error and I have reduced the application code to a minimum. I still have problem deploying the application to GlassFish 4.

Here the Server Log:

INFO:   WELD-000119 Not generating any bean definitions from com.sun.faces.vendor.Tomcat6InjectionProvider because of underlying class loading error: Type org.apache.AnnotationProcessor not found.  If this is unexpected, enable DEBUG logging to see the full error.
INFO:   WELD-000119 Not generating any bean definitions from com.sun.faces.vendor.Jetty6InjectionProvider because of underlying class loading error: Type Lorg.mortbay.jetty.plus.annotation.InjectionCollection; not found.  If this is unexpected, enable DEBUG logging to see the full error.
INFO:   WELD-000119 Not generating any bean definitions from com.sun.faces.vendor.GlassFishInjectionProvider because of underlying class loading error: Type com.sun.enterprise.InjectionException not found.  If this is unexpected, enable DEBUG logging to see the full error.
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class com.sun.faces.taglib.jsf_core.MaxMinValidatorTag. It will not be possible to produce instances of this type!
WARNING:   WELD-001529 An InjectionTarget implementation is created for a class javax.faces.webapp.UIComponentTag$UIComponentTagAdapter which does not have any appropriate constructor.
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class javax.faces.webapp.UIComponentBodyTag. It will not be possible to produce instances of this type!
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class javax.faces.webapp.ConverterELTag. It will not be possible to produce instances of this type!
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class javax.faces.webapp.UIComponentELTag. It will not be possible to produce instances of this type!
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class javax.faces.webapp.UIComponentClassicTagBase. It will not be possible to produce instances of this type!
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class javax.faces.webapp.UIComponentTag. It will not be possible to produce instances of this type!
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class javax.faces.webapp.UIComponentTagBase. It will not be possible to produce instances of this type!
WARNING:   WELD-001519 An InjectionTarget implementation is created for an abstract class javax.faces.webapp.ValidatorELTag. It will not be possible to produce instances of this type!
SEVERE:   Exception during lifecycle processing
org.glassfish.deployment.common.DeploymentException: CDI deployment failure:com/sun/enterprise/InjectionException
    at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:225)
    at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
    at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:328)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:493)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)

I have also pushed the application code to GutHub: testfish1 code

The Application consist of:

  1. Template.xhtml
  2. Index.xhtml
  3. Movietest.java (Entity)
  4. AbstractFacade.Java
  5. MovieFacadeREST.Java

Pls. let me know if you wand the code posted here

Thanks for any help

Upvotes: 1

Views: 2136

Answers (2)

John Ament
John Ament

Reputation: 11723

You have two dependencies that are not listed as provided. One is javaee-api, and the other is javax.inject. Here's a gist with an updated pom.xml for you: https://gist.github.com/johnament/11327517

Upvotes: 1

unwichtich
unwichtich

Reputation: 13857

The problem is that you are providing (means it is packaged in your WAR file) a javaee-api version which is different to the one included in Glassfish 4. You are using a beta version, you shouldn't do that anyway.

Change your pom.xml to the final version like this:

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <type>jar</type>
    </dependency>

Because it is included in Glassfish 4, you can even set the scope to provided.
In addition to that you are including the package javax.inject, which is not needed in the packaged web application. You can set it's scope to provided too.

Upvotes: 1

Related Questions