2016-06-01 8 views
0

ich ein Neuling in JSF bin,LifecycleException mit Hibernate, Maven und TomEE Server

ich ein neues Dynamic Web Project erstellt, konvertiert es in ein Maven-Projekt, dann habe ich den TomEE Server (Ich habe versucht, das starten Server und es hat funktioniert).

Ich folgte diesem Tutorial, das erklärt, wie man den Ruhezustand auf einem TomEE-Server aufruft: http://tomee.apache.org/tomee-and-hibernate.html, Ich habe Ehcache und Infinispan nicht installiert.

Wenn ich jetzt versuchen, den Server ich viele Ausnahmen bekommen zu starten, ist hier ein Teil davon:

INFOS: Undeploying app: C:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ROOT 
juin 01, 2016 11:14:29 AM 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[]] in state [STARTING_PREP] 
    at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:401) 
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:291) 
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1038) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1537) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1518) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:762) 
    at org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:1982) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:839) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100) 
    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:5472) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

juin 01, 2016 11:14:30 AM org.apache.openejb.assembler.classic.Assembler destroyApplication 
INFOS: Undeployed app: C:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ROOT 
juin 01, 2016 11:14:30 AM org.apache.tomee.catalina.TomcatWebAppBuilder startInternal 
GRAVE: Unable to deploy collapsed ear in war StandardEngine[Catalina].StandardHost[localhost].StandardContext[] 
org.apache.openejb.OpenEJBException: Creating application failed: C:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ROOT: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider; 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:843) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100) 
    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:5472) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider; 
    at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:142) 
    at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:35) 
    at org.apache.bval.jsr303.ConfigurationImpl.doPrivBuildValidatorFactory(ConfigurationImpl.java:252) 
    at org.apache.bval.jsr303.util.SecureActions$5.run(SecureActions.java:131) 
    at org.apache.bval.jsr303.util.SecureActions$5.run(SecureActions.java:129) 
    at org.apache.bval.jsr303.ConfigurationImpl.run(ConfigurationImpl.java:337) 
    at org.apache.bval.jsr303.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:244) 
    at org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:77) 
    at org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:47) 
    at org.apache.openejb.assembler.classic.LazyValidatorFactory.ensureDelegate(LazyValidatorFactory.java:53) 
    at org.apache.openejb.assembler.classic.LazyValidatorFactory.getFactory(LazyValidatorFactory.java:62) 
    at org.apache.openejb.assembler.classic.Assembler.bindValidators(Assembler.java:891) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:785) 
    ... 14 more 

juin 01, 2016 11:14:30 AM org.apache.tomee.catalina.TomcatWebAppBuilder init 
INFOS: ------------------------- localhost -> /jreservation 
juin 01, 2016 11:14:30 AM 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[]] 
    at java.util.concurrent.FutureTask.report(Unknown Source) 
    at java.util.concurrent.FutureTask.get(Unknown Source) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1120) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) 
    ... 6 more 
Caused by: org.apache.tomee.catalina.TomEERuntimeException: org.apache.openejb.OpenEJBException: Creating application failed: C:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ROOT: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider; 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1270) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1100) 
    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:5472) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) 
    ... 6 more 
Caused by: org.apache.openejb.OpenEJBException: Creating application failed: C:\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ROOT: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider; 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:843) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:677) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1261) 
    ... 12 more 
Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider; 
    at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:142) 
    at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:35) 
    at org.apache.bval.jsr303.ConfigurationImpl.doPrivBuildValidatorFactory(ConfigurationImpl.java:252) 
    at org.apache.bval.jsr303.util.SecureActions$5.run(SecureActions.java:131) 
    at org.apache.bval.jsr303.util.SecureActions$5.run(SecureActions.java:129) 
    at org.apache.bval.jsr303.ConfigurationImpl.run(ConfigurationImpl.java:337) 
    at org.apache.bval.jsr303.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:244) 
    at org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:77) 
    at org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:47) 
    at org.apache.openejb.assembler.classic.LazyValidatorFactory.ensureDelegate(LazyValidatorFactory.java:53) 
    at org.apache.openejb.assembler.classic.LazyValidatorFactory.getFactory(LazyValidatorFactory.java:62) 
    at org.apache.openejb.assembler.classic.Assembler.bindValidators(Assembler.java:891) 
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:785) 
    ... 14 more 

Meine Abhängigkeiten:

<!-- Hibernate --> 
<dependencies> 
    <dependency> 
     <groupId>antlr</groupId> 
     <artifactId>antlr</artifactId> 
     <version>2.7.7</version> 
    </dependency> 
    <dependency> 
     <groupId>dom4j</groupId> 
     <artifactId>dom4j</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate.common</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>5.0.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.1.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.1.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>5.2.4.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.logging</groupId> 
     <artifactId>jboss-logging</artifactId> 
     <version>3.3.0.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.javassist</groupId> 
     <artifactId>javassist</artifactId> 
     <version>3.20.0-GA</version> 
    </dependency> 

</dependencies> 

Mein Web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>jreservation</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>FacesServlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>FacesServlet</servlet-name> 
    <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 
    <context-param> 
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>client</param-value> 
    </context-param> 
    <context-param> 
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> 
    <param-value>resources.application</param-value> 
    </context-param> 
    <listener> 
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 
</web-app> 

In Properties -> Project Facets:

  • Dynamic Web-Modul ist bei 3,0

  • Java 1.6,

  • JSF 2.2,

  • JAX-RS 1.1,

  • JPA 2.1

Antwort

2

Es scheint, dass Sie ein älteres haben Version von Validation-API auf Ihrem Klassenpfad. Versuchen Sie, die Abhängigkeitshierarchie zu verwenden, um zu verstehen, wenn man ein paar alte Abhängigkeiten im Reaktor haben ...

auch versuchen, diese Abhängigkeit zu Ihrer pom.xml Zugabe

<dependency> 
    <groupId>javax.validation</groupId> 
    <artifactId>validation-api</artifactId> 
    <version>1.0.0.GA</version> 
</dependency> 

Wenn es immer noch nicht funktioniert, sollten Sie mit Winterschlaf-Validator.

Siehe diese Links zu:

Hibernate - Error activating Bean Validation integration

Trouble starting Hibernate Validator due to Bean Validation API

Wenn Sie Abhängigkeiten fehlen oder Konflikte, die beste und erste, was zu tun Abhängigkeiten wird sehen, in den Reaktor geerbt, einige Zeit nur etwas, das Hinzufügen oder etwas ausschließen, vermeiden Sie viel Schmerz!

Letzte Sache, zu sehen auf dem Web-ähnliche Problem mit dem gleichen Hibernate-Versionen, finde ich die folgenden Antworten recht nützlich:

Auf der Hibernate Validator-Website, für 5.0.3.Final heißt es: Diese transitively zieht die Abhängigkeit in die Bean-Validierungs-API (javax.validation: validation-api: 1.1.0.Final). Aber es scheint Probleme zu erben.

Ich konnte diese Arbeit mit 5.0.3.Final machen.Durch Hinzufügen einer Abhängigkeit zu javax.validation: validation-api 1.1.0.Final und stellen Sie sicher, dass diese Abhängigkeit vor der Hibernate-validatory Abhängigkeit gestellt wird, funktioniert es nicht einwandfrei.

Hoffe diese Hilfe!

+0

Danke! Validator war in der Tat das Problem. –

+0

Happy für diese ... bitte, wenn es Ihnen hilft, wählen Sie es :) – ivoruJavaBoy

+0

Whoops Entschuldigung, ich habe es vergessen –

Verwandte Themen