2016-08-22 9 views
1

Ivは、より頻繁に人々に起こるように見えるエラーに遭遇しますが、ソースは広範囲の原因で異なります。テスターがテストすることができるサーバーにプロジェクトを展開した後、アプリケーションでタスクを実行するときに、このエラーが表示される場合があります。< NoClassDefFoundError>が表示されます。QAサーバに展開するときにNoClassDefFoundError

インターネットで多くのことを読んでいる人もいます。環境に特定の権限がないため、いくつかの依存関係が欠落しているため、一部の人には不一致があるためです。しかし、それは私の場合のようです。

私はちょうどイライラしています。私はもはや正直であると確信していません。だから、私の視界を飛び越えてしまったかもしれないスタックトレースに何かが見えることを願って、私は救済のためにスタックオーバーフローに変わりました....

このクラスは< jaxb-api >ジャー。プロジェクトでは、バージョン2.2.2を使用するように設定されています。私はjarファイルをオンラインデコンパイラを使って逆コンパイルしてjarファイルをチェックアウトしました。クラスが存在します。私のローカル環境ではうまく動作します。サーバーにデプロイした後でのみ、これが実行されます。

ありがとうございます!申し訳ありませんが、私の質問が不明な場合は、それが事実かどうかをより明確にするために編集します。次のように

スタックトレースは次のとおりです。

java.lang.NoClassDefFoundError: com/sun/xml/bind/DatatypeConverterImpl$CalendarFormatter 
    at com.sun.xml.bind.DatatypeConverterImpl._printDate(DatatypeConverterImpl.java:482) 
    at com.sun.xml.bind.DatatypeConverterImpl.printDate(DatatypeConverterImpl.java:478) 
    at javax.xml.bind.DatatypeConverter.printDate(DatatypeConverter.java:680) 
    at org.w3._2001.xmlschema.Adapter1.marshal(Adapter1.java:20) 
    at org.w3._2001.xmlschema.Adapter1.marshal(Adapter1.java:7) 
    at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.get(AdaptedAccessor.java:72) 
    at com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.writeLeafElement(TransducedAccessor.java:252) 
    at com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty.serializeBody(SingleElementLeafProperty.java:121) 
    at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:157) 
    at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:189) 
    at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:316) 
    at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:323) 
    at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:72) 
    at com.sun.xml.bind.v2.runtime.property.SingleReferenceNodeProperty.serializeBody(SingleReferenceNodeProperty.java:111) 
    at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340) 
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) 
    at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:152) 
    at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340) 
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) 
    at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.serializeItem(ArrayElementNodeProperty.java:65) 
    at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:168) 
    at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:155) 
    at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340) 
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) 
    at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:152) 
    at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340) 
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) 
    at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:152) 
    at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340) 
    at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) 
    at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:264) 
    at com.sun.xml.bind.v2.runtime.BridgeImpl.marshal(BridgeImpl.java:100) 
    at com.sun.xml.bind.api.Bridge.marshal(Bridge.java:141) 
    at com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:321) 
    at com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:142) 
    at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:109) 
    at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:284) 
    at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:146) 
    at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:94) 
    at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:89) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439) 
    at com.sun.xml.ws.client.Stub.process(Stub.java:222) 
    at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109) 
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89) 
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118) 
    at com.sun.proxy.$Proxy653.majQuittances(Unknown Source) 
    at com.satec.dao.winpass.WinpassPolicyDAO.submitQuittance(WinpassPolicyDAO.java:45) 
    at com.satec.service.WinpassService.submitPolicyLifecycle(WinpassService.java:505) 
    at com.satec.service.WinpassService.submitPolicyLifecycle(WinpassService.java:330) 
    at com.satec.service.WinpassHelper.submitPolicyLifecycle(WinpassHelper.java:96) 
    at com.satec.manager.SANewPolicyAvoidanceBP.executeAvoidance(SANewPolicyAvoidanceBP.java:51) 
    at com.satec.manager.SANewPolicyAvoidanceBP.save(SANewPolicyAvoidanceBP.java:70) 
    at com.satec.manager.SANewPolicyAvoidanceBP$$FastClassByCGLIB$$54f56c86.invoke(<generated>) 
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) 
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 
    at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) 
    at com.satec.manager.SANewPolicyAvoidanceBP$$EnhancerByCGLIB$$539f001e.save(<generated>) 
    at com.albiran.ser.newPolicyAvoidance.NewPolicyAvoidanceServlet.handleBusinessRequest(NewPolicyAvoidanceServlet.java:64) 
    at com.albiran.ser.commun.AjaxTransaction.handleBusinessRequest(AjaxTransaction.java:17) 
    at com.albiran.ser.commun.AjaxTransaction$$FastClassByCGLIB$$46480d71.invoke(<generated>) 
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) 
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) 
    at com.albiran.ser.commun.AjaxTransaction$$EnhancerByCGLIB$$9840595b.handleBusinessRequest(<generated>) 
    at com.albiran.ser.commun.AjaxServlet.executeMethod(AjaxServlet.java:208) 
    at com.albiran.ser.commun.AjaxServlet.handleBusinessRequest(AjaxServlet.java:444) 
    at com.albiran.ser.commun.AjaxServlet.service(AjaxServlet.java:576) 
    at sun.reflect.GeneratedMethodAccessor2997.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369) 
    at com.albiran.framework.license.LicenseCheckingFilter.doFilter(LicenseCheckingFilter.java:59) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at com.albiran.acces.data.acces.AlbiranSessionRequestFilter.doFilter(AlbiranSessionRequestFilter.java:64) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381) 
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168) 
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
    at com.albiran.framework.license.LicenseCheckingFilter.doFilter(LicenseCheckingFilter.java:59) 
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
    at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:872) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 
+0

お使いのTomcatのバージョンは? JDK?このテストサーバーに他のアプリケーションがデプロイされていますか?そうであれば、既存の他のアプリケーションは以前にロードされたこのjar /クラスの別のバージョンを持っていますか? – jlumietu

+0

NoClassDefFoundError例外とその原因は非常にはっきりしていますが、あなたのケースで原因を見つけることができます。通常のメソッド呼び出しの一部として、または新しいインスタンスの作成の一環としてスローされるとき、環境の詳細のような詳細情報が必要です。 –

+0

サーバーはJettyで、JDK 1.7を使用しています。そして申し訳ありませんが、私はエラーの最初の行を忘れてしまったようです。そして、はい、そのサーバー上で実行されている唯一のものです。 –

答えて

1

あなたは、Java 6以降を使用している場合JAXBは、あなたのJDKに付属していることを理解することが重要です。

通常、JDKを通じてこれらのファイルにアクセスできるため、JAXB API jarsまたはJAXB実装をpom.xmlファイルに含めないでください。そうすることで、あなたが記述したようなクラスローディングの問題が発生する可能性があります。

あなたはは、あなたがJAXB 2.1に付属しているJavaの8

のJava 6と7を使用してコードをビルドして実行する必要がありJAXB 2.2を使用する必要がある場合。などWildFly、GlassFishの、TomEE、など

あなたのコードはフルスタックのJava EE 6(以降)で実行されている場合さて、上記の事実ではない、サーバー

これらの仕様は、適切に提供するために義務付けられています統合されたJAXB 2.2実装。

この場合、JAXB 2.2 APIに対してビルドできます。それでも実装を除外する必要があります。

あなたはJAXB 2.2とTomcatのようなものを使用したい場合、あなたはそれがJava Endorsed Standards Override Mechanism上に構築されているClass Loader HOW-TOで説明endorsedディレクトリ、だ使用してTomcatのにJAXB 2.2の実装をインストールする必要があります。 Jettyにも同様のソリューションが必要です。