JBoss AS 7 迁移 - java.lang.ClassNotFoundException: org.hibernate.validator.ClassValidator [英] JBoss AS 7 migration - java.lang.ClassNotFoundException: org.hibernate.validator.ClassValidator

查看:36
本文介绍了JBoss AS 7 迁移 - java.lang.ClassNotFoundException: org.hibernate.validator.ClassValidator的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个在 JBoss AS 4.2.3 上运行的应用程序,我正在尝试将它迁移到 JBoss AS 7.0.2.我也在将 seam 从 2.1.1 升级到 2.2.2.我已经解决了一些类未找到的异常,但我被困在

I have an application running on JBoss AS 4.2.3 and am trying to migrate this to JBoss AS 7.0.2. I am also upgrading seam from 2.1.1 to 2.2.2. I have resolved a few of the class not found exceptions, but I am stuck on

java.lang.ClassNotFoundException: org.hibernate.validator.ClassValidator

我的完整堆栈跟踪如下.

My full stack trace is below.

我对 AS 7 中的新类加载器不是很清楚.Hibernate 4 是否适用于 seam 2.2.2?我尝试在 jboss-deployment-structure.xml 中指定导出以使用 org.hibernate 和 org.hibernate.validator.但是,当我查看这些位置的 jar 时,我没有看到 ClassValidator 类...

I'm not very clear on the new class loader in AS 7. Does Hibernate 4 work with seam 2.2.2? I have tried specifying the exports in jboss-deployment-structure.xml to use org.hibernate and org.hibernate.validator. However, when I look in the jars in these locations, I do not see the ClassValidator class...

我还尝试将 hibernate 3 jar 添加到 EAR/lib 并在清单中指定它们,但这并没有改变任何东西.我看到 hibernate 3 hibernate-validator.jar 确实包含 classValidator 类,但它仍然没有找到它.

I have also tried adding hibernate 3 jars to the EAR/lib and specifying them in the manifest, but that does not change anything. I see that hibernate 3 hibernate-validator.jar does contain the classValidator class, but it still doesn't find it.

更新我也试过 hibernate-validator-legacy-4.0.2.GA.jar

UPDATE I also tried hibernate-validator-legacy-4.0.2.GA.jar

hibernate-annotations-3.4.0.GA.jar
hibernate-commons-annotations-3.1.0.GA.jar
hibernate-core-3.3.0.SP1.jar
hibernate-validator-3.1.0.GA.jar

14:16:07,776 INFO  [org.jboss.seam.Component] (MSC service thread 1-2) Component: Test, scope: EVENT, type: JAVA_BEAN, class: com.test.Test 
14:16:07,789 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/oneSourceUI]] (MSC service thread 1-2) Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener: java.lang.RuntimeException: Could not create Component: Test
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1202) [jboss-seam.jar:]
    at org.jboss.seam.init.Initialization.installComponents(Initialization.java:1118) [jboss-seam.jar:]
    at org.jboss.seam.init.Initialization.init(Initialization.java:737) [jboss-seam.jar:]
    at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [jboss-seam.jar:]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3368) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3821) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0_01]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0_01]
    at java.lang.Thread.run(Thread.java:722) [:1.7.0_01]
Caused by: java.lang.NoClassDefFoundError: org/hibernate/validator/ClassValidator
    at java.lang.Class.getDeclaredMethods0(Native Method) [:1.7.0_01]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) [:1.7.0_01]
    at java.lang.Class.getDeclaredMethods(Class.java:1808) [:1.7.0_01]
    at org.jboss.seam.Component.initMembers(Component.java:553) [jboss-seam.jar:]
    at org.jboss.seam.Component.(Component.java:247) [jboss-seam.jar:]
    at org.jboss.seam.Component.(Component.java:208) [jboss-seam.jar:]
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1186) [jboss-seam.jar:]
    ... 11 more
Caused by: java.lang.ClassNotFoundException: org.hibernate.validator.ClassValidator from [Module "deployment.test-ear.ear.jboss-seam.jar:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
    ... 18 more

14:16:07,798 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-2) Initializing Mojarra (1.2_15-20110809-SNAPSHOT) for context '/test
14:16:07,828 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (MSC service thread 1-2) JSF1051: Service entry 'org.jboss.as.web.deployment.jsf.JsfInjectionProvider' does not extend DiscoverableInjectionProvider.  Entry will be ignored.
14:16:07,829 INFO  [javax.enterprise.resource.webcontainer.jsf.application] (MSC service thread 1-2) JSF1048: PostConstruct/PreDestroy annotations present.  ManagedBeans methods marked with these annotations will have said annotations processed.
14:16:07,852 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-2) Error listenerStart
14:16:07,854 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-2) Context [/test] startup failed due to previous errors
14:16:07,855 INFO  [org.jboss.web] (MSC service thread 1-2) registering web context: /oneSourceUI
14:16:08,101 INFO  [org.apache.catalina.core.StandardContext] (MSC service thread 1-1) Container org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/oneSourceUI] has not been started
14:16:08,816 INFO  [org.jboss.as.server.controller] (DeploymentScanner-threads - 2) Deployment of "test-ear.ear" was rolled back with failure message {"Services with missing/unavailable dependencies" => ["jboss.persistenceunit."test-ear.ear/test-ejb.jar#testBackout" missing [ jboss.naming.context.java.testBackoutDatasource ]","jboss.persistenceunit."test-ear.ear/test-ejb.jar#test" missing [ jboss.naming.context.java.testDatasource ]"]}
14:16:08,857 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Stopped deployment test-ejb.jar in 760ms
14:16:08,857 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Stopped deployment jboss-seam.jar in 761ms
14:16:09,613 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Stopped deployment oneSourceUI.war in 1517ms
14:16:09,720 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Stopped deployment oneSourceUI-ear.ear in 1624ms
14:16:09,728 ERROR [org.jboss.as.deployment] (DeploymentScanner-threads - 1) {"Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"Services with missing/unavailable dependencies" => ["jboss.persistenceunit."test-ear.ear/test-ejb.jar#testBackout" missing [ jboss.naming.context.java.testBackoutDatasource ]","jboss.persistenceunit."test-ear.ear/test-ejb.jar#test" missing [ jboss.naming.context.java.testDatasource ]"]}}}

推荐答案

JBoss 7 中的类加载模型发生了变化.它隐藏了许多未明确声明的内容.

Classloading model changed in JBoss 7. It hides much stuff that's not explicitly declared.

您必须熟悉这些链接:

https://docs.jboss.org/author/display/AS7/Developer+Guide#DeveloperGuide-HowtoresolveClassNotFoundExceptionsandNoCLassDefFoundErrors

https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7

这篇关于JBoss AS 7 迁移 - java.lang.ClassNotFoundException: org.hibernate.validator.ClassValidator的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆