2015-04-27 3 views
0

Привет, у меня есть следующая проблема: когда я загружаю класс без использования gin gson gnject, он работает нормально, но когда я его помещаю, он выдает исключение.Невозможно ввести Gson в java с @inject

Класс, который вызывает gson.

package core.control; 

import java.util.List; 

import javax.inject.Inject; 
import javax.inject.Named; 

import com.google.gson.Gson; 

import core.dao.SistemaDao; 
import core.model.Sistema; 

@Named 
public class SistemaControl { 

    private SistemaDao sistemaDao; 

    @Inject 
    private Gson gson; 

    @Inject 
    public SistemaControl(SistemaDao sistemaDao) { 
     this.sistemaDao = sistemaDao; 
    } 

    public String getTodosOsSistemas() { 
     List<Sistema> sistemas = sistemaDao.buscarTodos(); 
     String json = "oiii"; 
     return json; 
    } 

} 

создатель:

package core.control; 

import javax.enterprise.inject.Disposes; 
import javax.enterprise.inject.Produces; 

import com.google.gson.Gson; 

public class CriadorGson { 

    @Produces 
    public Gson criarGson() { 
     Gson gson = new Gson(); 
     return gson; 
    } 

    public void destruir(@Disposes Gson gson) { 
     gson = null; 
    } 

} 

класс, который вызывает компонент, который вызывает Gson

package core.jsfConnection; 

import javax.enterprise.context.RequestScoped; 
import javax.inject.Inject; 
import javax.inject.Named; 

import core.control.SistemaControl; 

@Named("sistemaMB") 
@RequestScoped 
public class SistemaMB { 

    @Inject 
    private SistemaControl sistemaControl; 

    public String getTodosSistemas() { 
     String sistemasJson = sistemaControl.getTodosOsSistemas(); 
     return sistemasJson; 
    } 

} 

за исключением

GRAVE: CDI Beans module deployment failed 
org.apache.webbeans.exception.inject.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:215) 
    at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:194) 
    at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:160) 
    at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:41) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:797) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) 
    at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.webbeans.util.InjectionExceptionUtil.throwUnsatisfiedResolutionException(InjectionExceptionUtil.java:60) 
    at org.apache.webbeans.container.InjectionResolver.checkInjectionPoint(InjectionResolver.java:195) 
    at org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:955) 
    at org.apache.webbeans.config.BeansDeployer.validate(BeansDeployer.java:491) 
    at org.apache.webbeans.config.BeansDeployer.validateInjectionPoints(BeansDeployer.java:422) 
    at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:202) 
    ... 18 more 

Abr 27, 2015 5:53:03 PM org.apache.catalina.core.ContainerBase removeChild 
GRAVE: ContainerBase.removeChild: destroy: 
org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/patrimonio]] in state [STARTING_PREP] 
    at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409) 
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:299) 
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1041) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1524) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1505) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:747) 
    at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:1668) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:892) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) 
    at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

Abr 27, 2015 5:53:03 PM org.apache.openejb.assembler.classic.Assembler destroyApplication 
ADVERTÊNCIA: cant unbind resource patrimonio/BeanManager 
Abr 27, 2015 5:53:03 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 
GRAVE: The web application [/patrimonio] appears to have started a thread named [HSQLDB Timer @50149626] but has failed to stop it. This is very likely to create a memory leak. 
Abr 27, 2015 5:53:03 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks 
GRAVE: The web application [/patrimonio] created a ThreadLocal with key of type [com.sun.xml.bind.v2.runtime.Coordinator$1] (value [[email protected]]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@5c67aec5]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. 
Abr 27, 2015 5:53:03 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks 
GRAVE: The web application [/patrimonio] created a ThreadLocal with key of type [com.sun.xml.bind.v2.ClassFactory$1] (value [[email protected]]) and a value of type [java.util.WeakHashMap] (value [{class org.apac[email protected]7009c732, class [email protected], class org.a[email protected]62de96e8, class javax.xml.bind.annotat[email protected]3858c0e, class org.apa[email protected]34adecf0, class org.apache.ope[email protected]69e9b95, class org.apache.o[email protected]16f85698}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. 
Abr 27, 2015 5:53:03 PM org.apache.tomee.catalina.TomcatWebAppBuilder startInternal 
GRAVE: Unable to deploy collapsed ear in war StandardEngine[Catalina].StandardHost[localhost].StandardContext[/patrimonio] 
org.apache.openejb.OpenEJBException: Creating application failed: /home/thiago/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/patrimonio: couldn't start owb context 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:896) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) 
    at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.openejb.OpenEJBRuntimeException: couldn't start owb context 
    at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:162) 
    at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:41) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:797) 
    ... 14 more 
Caused by: org.apache.openejb.OpenEJBRuntimeException: org.apache.webbeans.exception.inject.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:197) 
    at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:160) 
    ... 16 more 
Caused by: org.apache.webbeans.exception.inject.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:215) 
    at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:194) 
    ... 17 more 
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.webbeans.util.InjectionExceptionUtil.throwUnsatisfiedResolutionException(InjectionExceptionUtil.java:60) 
    at org.apache.webbeans.container.InjectionResolver.checkInjectionPoint(InjectionResolver.java:195) 
    at org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:955) 
    at org.apache.webbeans.config.BeansDeployer.validate(BeansDeployer.java:491) 
    at org.apache.webbeans.config.BeansDeployer.validateInjectionPoints(BeansDeployer.java:422) 
    at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:202) 
    ... 18 more 

Abr 27, 2015 5:53:03 PM org.apache.catalina.core.ContainerBase startInternal 
GRAVE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/patrimonio]] 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:188) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/patrimonio]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    ... 6 more 
Caused by: org.apache.tomee.catalina.TomEERuntimeException: org.apache.openejb.OpenEJBException: Creating application failed: /home/thiago/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/patrimonio: couldn't start owb context 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1257) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1087) 
    at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:130) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 6 more 
Caused by: org.apache.openejb.OpenEJBException: Creating application failed: /home/thiago/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/patrimonio: couldn't start owb context 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:896) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:623) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1248) 
    ... 12 more 
Caused by: org.apache.openejb.OpenEJBRuntimeException: couldn't start owb context 
    at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:162) 
    at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:41) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:797) 
    ... 14 more 
Caused by: org.apache.openejb.OpenEJBRuntimeException: org.apache.webbeans.exception.inject.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:197) 
    at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:160) 
    ... 16 more 
Caused by: org.apache.webbeans.exception.inject.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:215) 
    at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:194) 
    ... 17 more 
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [core.control.SistemaControl] is not found with the qualifiers 
Qualifiers: [@javax.enterprise.inject.Default()] 
for injection into Field Injection Point, field name : sistemaControl, Bean Owner : [SistemaMB, Name:sistemaMB, WebBeans Type:MANAGED, API Types:[java.lang.Object,core.jsfConnection.SistemaMB], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]] 
    at org.apache.webbeans.util.InjectionExceptionUtil.throwUnsatisfiedResolutionException(InjectionExceptionUtil.java:60) 
    at org.apache.webbeans.container.InjectionResolver.checkInjectionPoint(InjectionResolver.java:195) 
    at org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:955) 
    at org.apache.webbeans.config.BeansDeployer.validate(BeansDeployer.java:491) 
    at org.apache.webbeans.config.BeansDeployer.validateInjectionPoints(BeansDeployer.java:422) 
    at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:202) 
    ... 18 more 

Abr 27, 2015 5:53:03 PM org.apache.catalina.core.ContainerBase startInternal 
GRAVE: A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:188) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:739) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:689) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: A child container failed during start 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 6 more 

Abr 27, 2015 5:53:03 PM org.apache.catalina.startup.Catalina start 
GRAVE: The required Server component failed to start so Tomcat is unable to start. 
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:689) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:739) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 7 more 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 9 more 
Caused by: org.apache.catalina.LifecycleException: A child container failed during start 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 11 more 
+0

Какая версия OWB, OpenEJB вы используете? –

+0

openjb 4.7.1, а что такое owb? –

+0

У меня было подобное сообщение об ошибке, когда я задал этот вопрос, https://stackoverflow.com/questions/29806783/can-cdi-inject-standard-library-pojos-into-an-ejb. Вы можете получить некоторое представление, если вы прочтете это, Тьяго. – DavidS

ответ

1

Это не Gson, что это проблема. Что обеспечивает SistemaControl в вашем классе SistemaMB? Из трассировки стека он выглядит как ничто.

Например, вы можете добавить Выдает метод этого класса:

public class CriadorModule { 

    @Produces 
    public SistemaControl criarSistemaControl() { 
     return new SistemaControl(); 
    } 

    @Produces 
    public Gson criarGson() { 
     Gson gson = new Gson(); 
     return gson; 
    } 

    // FYI the destroy in your CriadorGson class has no effect, you need to understand how variables work in Java. gson is a local copy of a reference. 

} 
+0

У меня должен быть интерфейс для этого? –

+0

shouldnt @inject достаточно? –

+1

Чтобы создать класс, вам нужно рассказать о своей структуре инъекций. Посмотрите, как у вас есть метод @Produces для Gson? Вам нужно что-то подобное для SistemaControl. – enl8enmentnow

0

кажется sistemaControl не может быть введен. @ javax.enterprise.inject.Default() является квалификатором по умолчанию, используемым, если вы не укажете (рядом с @Inject). если вы используете Java EE 6, убедитесь, что вы создали beans.xml, чтобы включить CDI (по умолчанию управляемые beans - это те, которые аннотируются, например, с @Named). Если вы используете Java EE 7, тогда ... CDI должен быть включен; затем убедитесь, что в beans.xml атрибут bean-discovery-mode не установлен в «none».

Надеюсь, это поможет.

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