首页 文章

Jboss AS7 Resteasy示例Oauth2框架密钥从PoolingClientConnectionManager部署NoClassDefFoundError

提问于
浏览
1

使用Jboss AS7和Resteasy运行默认的Skeleton Key示例,我已完全遵循这些指示:https://github.com/resteasy/Resteasy/tree/master/jaxrs/examples/oauth2-as7-example但仍然在部署时出错:

14:35:10,453 ERROR [org.apache.catalina.core.StandardContext](MSC服务线程1-11)上下文[/ customer-portal]启动因以前的错误而失败:java.lang.NoClassDefFoundError:org / apache / http / impl / conn / PoolingClientConnectionManager at org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.initDefaultEngine(ResteasyClientBuilder.java:428)[resteasy-client-3.0.6.Final.jar:] at org.jboss.resteasy.client .jaxrs.ResteasyClientBuilder.build(ResteasyClientBuilder.java:333)[resteasy-client-3.0.6.Final.jar:] at org.jboss.resteasy.skeleton.key.as7.OAuthManagedResourceValve.init(OAuthManagedResourceValve.java:115) [skeleton-key-as7-3.0.6.Final.jar:] at org.jboss.resteasy.skeleton.key.as7.OAuthManagedResourceValve.lifecycleEvent(OAuthManagedResourceValve.java:66)[skeleton-key-as7-3.0.6 . Final.jar:] org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:115)[jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContext.start(StandardContext的.java :3845)[jbossweb-7.0.13.Final.jar:] org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)[jboss-as-web-7.1.1.Final.jar位于org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1746)的org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1811):7.1.1.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[rt.jar:1.7.0_25] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)[rt.jar:1.7 .0_25]在java.lang.Thread.run(Thread.java:724)[rt.jar:1.7.0_25]引起:[模块的java.lang.ClassNotFoundException:org.apache.http.impl.conn.PoolingClientConnectionManager org.jboss.modules中的“org.jboss.resteasy.resteasy-jaxrs:main”来自本地模块加载器@ 1d1aed21(roots:/Users/JamesTruty/work/jboss-as-7.1.1.Final oauth / modules)] . 在org.jboss.modules.ConcurrentClassLoa上的ModuleClassLoader.findClass(ModuleClassLoader.java:190) org.jboss.modules上的org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)的der.performLoadClassUnchecked(ConcurrentClassLoader.java:468) .ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)... 12更多

我尝试过尝试包含apache httpclient库的各种方法,但仍然没有运气 . 我错过了什么吗?

2 回答

  • 0

    NoClassDefFoundError 指定特定库在编译期间可用,但在运行时丢失 . 您需要确保类路径中存在 httpclient jar . 如果它存在则可能是静态初始化失败或正在通过不同的类加载器加载 . 有关how to debug a NoClassDefFoundError的更多信息,您可以查看此信息

  • 0

    好的,经过更多的调整,我得到了成功部署示例应用程序 . 我需要更新jar版本并修改Jboss中的模块xml以指向org.apache.httpcomponents以使用httpclient-4.2.1.jar,httpcore-4.2.1.jar和httpmime-4.2.1.jar .

相关问题