2010-07-27 5 views
18

weblogic 10.3에서 최대 절전 모드 (Seam과 함께 사용)에 큰 문제가 있습니다. 내 응용 프로그램을 게시 할 때java.lang.NoSuchMethodException : org.hibernate.validator.ClassValidator Seam weblogic 10.3

, 나는이 오류가 :

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) 

나는이 오류가 compatibily 최대 절전 모드 항아리 사이에서 올 수있는 웹에서 읽을. 그러나, 나는 매트릭스를 읽고 좋은 버전 (hibernate-validator 3.1, hibernate-search 3.1, hibernate core 3.3.0)을 가지고있다.

나는이 문제를 해결할 생각이 없다. 누군가 나를 도울 수 있니?

감사합니다.

PS : 당신이 사전 패키지 최대 절전 항아리 (즉 JBoss 서버와 함께 제공) 동안 응용 프로그램에서 최대 절전 모드의 최신 버전을 사용하여 이전 버전의 경우

weblogic.application.ModuleException: 
     at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1373) 
     at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468) 
     at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) 
     at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) 
     at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) 
     at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) 
     at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) 
     at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) 
     at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16) 
     at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162) 
     at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79) 
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569) 
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140) 
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106) 
     at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:143) 
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436) 
     at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67) 
     at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516) 
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) 
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) 
    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(Class.java:2706) 
     at java.lang.Class.getDeclaredConstructor(Class.java:1985) 
     at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:352) 
     at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1148) 
     at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1226) 
     at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:159) 
     at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854) 
     at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191) 
     at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253) 
     at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125) 
     at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83) 
     at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60) 
     at org.jboss.seam.persistence.EntityManagerFactory.createEntityManagerFactory(EntityManagerFactory.java:81) 
     at org.jboss.seam.persistence.EntityManagerFactory.startup(EntityManagerFactory.java:50) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) 
     at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) 
     at org.jboss.seam.Component.callComponentMethod(Component.java:2257) 
     at org.jboss.seam.Component.callCreateMethod(Component.java:2172) 
     at org.jboss.seam.Component.newInstance(Component.java:2132) 
     at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304) 
     at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278) 
     at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:116) 
     at org.jboss.seam.init.Initialization.init(Initialization.java:740) 
     at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) 
     at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:465) 
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
     at weblogic.security.service.SecurityManager.runAs(Unknown Source) 
     at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:175) 
     at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1785) 
     at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3005) 
     at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371) 
     at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468) 
     at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) 
     at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) 
     at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) 
     at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) 
     at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) 
     at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) 
     at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16) 
     at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162) 
     at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79) 
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569) 
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140) 
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106) 
     at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:143) 
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227) 
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436) 
     at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) 
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67) 
     at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516) 
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) 
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) 
    > 
+0

깨끗한 상태로 만들어보세요. – TaherT

+0

나는 많은 시간을 보냈고;) 아무것도 바뀌지 않았다. – Kiva

답변

13

그런 일이 : 여기에 전체 스택 추적입니다. 응용 프로그램 서버의 최대 절전 모드 병을 올바르게 업그레이드하는 방법에 대한 자세한 내용은 this을 참조하십시오.

+1

빛나는! 어떻게 알 수 있니? –

+4

나는이 고통을 겪었 기 때문에. – user18943

+0

약간의 질문입니다. 갈등을 피할 수있는 가장 좋은 방법을 알고 있습니까? 충돌이 많이 발생하지 않는 경우 오류가 발생합니다. –

12

내 최대 절전 모드 구성에서이 두 가지 속성을 추가하여이 문제를 해결했습니다. 제대로으로

<weblogic-application> 
    <prefer-application-packages> 
     <package-name>org.hibernate.*</package-name> 
    </prefer-application-packages> 
</weblogic-application> 

을 : 당신이 웹 로직 서버에서이 문제를 칠 일 경우

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

그게 다야 !! Hibernate 3.6.0.Final과 JBoss 4.2.1.GA로 저를 위해 일했습니다. 많은 많은 감사합니다 !! – Donatello

+0

내 하루를 구 했소 ... 어떻게 찾았습니까? –

+0

이 최대 절전 모드 구성 파일이 서버에 있습니까? – dhroove

1

, 나는 EAR에 weblogic-application.xml에서 prefer-application-packages에 패키지 org.hibernate을 배치하여 웹 로직 10.3.0.0에이 문제를 해결 내장 된 응용 프로그램을 사용하면 Weblogic Server가 이전의 충돌 라이브러리를 서버의 클래스 경로에서로드하지 못하게하여 예상대로 작동하게합니다.

관련 문제