tomcat - CXF 类未找到 neethi/PolicyComponent 异常

标签 tomcat cxf

有人可以解释这个错误的原因吗?我仅在部署应用程序(在 Tomcat 服务器中)时收到此错误。在我的开发机器和其他机器上,这工作正常。我们在 Jetty 上运行应用程序,即使我在本地计算机上的 Tomcat 中运行,它也能正常工作。是不是访问权限问题?当我手动添加 neethi.jar 文件时,抛出 NullPointerException。有什么想法吗?我正在使用 CXF 2.3.3

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.ws.policy.PolicyEngine' defined in class path resource [META-INF/cxf/cxf-extension-policy.xml]: Resolution of declared constructors on bean Class [org.apache.cxf.ws.policy.PolicyEngineImpl] from ClassLoader [WebappClassLoader

context: 
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@4447393f
] failed; nested exception is java.lang.NoClassDefFoundError: org/apache/neethi/PolicyComponent    
     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:163)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:110)

java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.ws.policy.PolicyEngine' defined in class path resource [META-INF/cxf/cxf-extension-policy.xml]: Resolution of declared constructors on bean Class [org.apache.cxf.ws.policy.PolicyEngineImpl] from ClassLoader [WebappClassLoader


context: 
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@4447393f
] failed; nested exception is java.lang.NoClassDefFoundError:    org/apache/neethi/PolicyComponent
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:90)
org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:137)
org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:122)
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:89)
javax.xml.ws.Service.<init>(Service.java:56)
javax.xml.ws.Service.create(Service.java:680)


net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:50)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:163)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:110)




root cause

java.lang.NoClassDefFoundError: org/apache/neethi/PolicyComponent
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getDeclaredConstructors(Class.java:1836)
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:157)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:907)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)
org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:90)
org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:137)
org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:122)
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:89)
javax.xml.ws.Service.<init>(Service.java:56)
javax.xml.ws.Service.create(Service.java:680)
-******
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:50)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
*****
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:163)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:110

最佳答案

好的。这与 Maven 有关。当 Maven 构建最终的 war 文件时,它没有包含 CXF jar 依赖项。这导致了问题。

关于tomcat - CXF 类未找到 neethi/PolicyComponent 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304385/

相关文章:

ruby-on-rails - jruby/activerecord-jdbc/tomcat/DB2 准备好用于企业了吗?

java - Spring MVC - HTTP 状态 500

json - jax-rs 将多个 JSON 对象传递给 java 方法调用

java - 在 CXF 中使用 wsdl2java 生成 Web 服务服务器实现

spring - 使用 Spring Data JPA、Hibernate 和多事务管理器 : No bean named 'transactionManager' is defined

tomcat - 负载均衡以暴露单个端口

java - 部署到 Tomcat 7 OK 但无法访问应用程序

java - 来自 ColdFusion 应用程序的 MySQLNonTransientConnectionException

java - 如何在 CXF Out Fault Interceptor 中将 HTTP STATUS 代码设置为 500 以外的值?

java - 在 springapp 中放置 .jks 文件的位置以及在 cxf.xml 中提供的相对路径