2012-01-11 3 views
2

RestEasy API 2.3.0 GA, 최대 절전 모드 3.6.3, mysql을 사용하는 웹 서비스를 개발 중이고 Jboss 5.1.1에 배포하려고합니다.RestEasy + hibernate + JBoss EAP 5.1.1

maven 프로젝트이며 성공적으로 배포됩니다. 그러나 클라이언트에서 웹 서비스를 호출 할 때 예외가 발생합니다. 내 받는다는 종속성은 다음과 같습니다 예외

<dependencies> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>2.3.0.GA</version> 
     <!-- filter out unwanted jars --> 
     <exclusions> 
      <exclusion> 
       <groupId>commons-httpclient</groupId> 
       <artifactId>commons-httpclient</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.servlet</groupId> 
       <artifactId>servlet-api</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.xml.bind</groupId> 
       <artifactId>jaxb-api</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.sun.xml.bind</groupId> 
       <artifactId>jaxb-impl</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jettison-provider</artifactId> 
     <version>2.3.0.GA</version> 
     <exclusions> 
      <exclusion> 
       <groupId>javax.xml.bind</groupId> 
       <artifactId>jaxb-api</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.sun.xml.bind</groupId> 
       <artifactId>jaxb-impl</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.xml.stream</groupId> 
       <artifactId>stax-api</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.6.3.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.9</version> 
    </dependency> 
</dependencies> 

관련 부분은 다음과 같다 :

9:14:41,813 ERROR [STDERR] Initial SessionFactory creation failed.org.hibernate.AnnotationException: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator.<init>(java.lang.Class, java.util.ResourceBundle, org.hibernate.validator.MessageInterpolator, java.util.Map, org.hibernate.annotations.common.reflection.ReflectionManager) 
19:14:41,818 ERROR [Application]] Servlet.service() for servlet javax.ws.rs.core.Application threw exception 
org.jboss.resteasy.spi.UnhandledException: java.lang.ExceptionInInitializerError 
    at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:340) 
    at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214) 
    at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) 
    at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540) 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) 
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) 
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) 
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) 
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ExceptionInInitializerError 
    at uk.co.dcm.utils.HibernateUtil.buildSessionFactory(HibernateUtil.java:38) 
    at uk.co.dcm.utils.HibernateUtil.<clinit>(HibernateUtil.java:27) 
    at uk.co.dcm.olympics.adult.AdultDAO.addAdult(AdultDAO.java:13) 
    at uk.co.dcm.olympics.adult.AdultService.addAdult(AdultService.java:8) 
    at uk.co.dcm.olympics.adult.AdultRest.post(AdultRest.java:39) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:154) 
    at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) 
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) 
    at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) 
    at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) 
    ... 26 more 
Caused by: org.hibernate.AnnotationException: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator.<init>(java.lang.Class, java.util.ResourceBundle, org.hibernate.validator.MessageInterpolator, java.util.Map, org.hibernate.annotations.common.reflection.ReflectionManager) 
    at org.hibernate.cfg.Configuration.applyHibernateValidatorLegacyConstraintsOnDDL(Configuration.java:1654) 
    at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.java:1626) 
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1418) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1829) 
    at uk.co.dcm.utils.HibernateUtil.buildSessionFactory(HibernateUtil.java:33) 
    ... 39 more 
Caused by: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator.<init>(java.lang.Class, java.util.ResourceBundle, org.hibernate.validator.MessageInterpolator, java.util.Map, org.hibernate.annotations.common.reflection.ReflectionManager) 
    at java.lang.Class.getConstructor0(Unknown Source) 
    at java.lang.Class.getDeclaredConstructor(Unknown Source) 
    at org.hibernate.cfg.Configuration.applyHibernateValidatorLegacyConstraintsOnDDL(Configuration.java:1642) 
    ... 43 more 

내가 여기서 뭔가를 놓치고 있습니까?

+0

어떻게 의존 관계를 얻고 있습니까? Maven 또는 유사 제품을 사용하지 않는 경우 호환되지 않는 jar를 사용하고있는 것입니다. –

+0

Alex : 빠른 응답을 보내 주셔서 감사합니다. 내 의존성 게시물을 업데이트했습니다. 제발 봐주세요 –

답변

2

방금 ​​전에 발견했습니다. this 이전 토론. 아마도 이러한 제안을 시도해보십시오. 이전 스택 오버 플로우 토론도 this입니다.

당신의 의존성에있는 Hibernate의 버전과 당신의 JBoss 어플리케이션 서버에 번들 된 버전의 차이로 인한 것 같다.

나는 문제가 무엇인지 여기에 게시하고 있어요 참고로
+0

굉장한 알렉스, 너는 나의 날을 만들었다 :) 나는 똑같은 해결책을 찾고 있었다. –

+0

probs 없음. 다행히 도울 수있어. –

3

내가 무슨 짓을했는지 : 내 받는다는 종속성에 추가 한 최대 절전 모드 항아리와 충돌이 있었다

ISSUE과 jboss-등의/평민/lib 디렉토리/

해결책 : 속성을 다음

추가 된 사용만을 받는다는 종속성 :

<property name="hibernate.validator.apply_to_ddl">false</property>
<property name="hibernate.validator.autoregister_listeners">false</property>

+1

링크에 자세한 내용이 게시되어 있습니다 ... –

관련 문제