たちまち。

即席で役に立つこと。

iAPログイン画面アクセス時にNoClassDefFoundError

ログイン画面にアクセスすると500エラーと表示され、ログには以下のようなエラーが出力される。

 

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class jp.co.intra_mart.foundation.router.RouterFactory$LazyHolder javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class jp.co.intra_mart.foundation.router.RouterFactory$LazyHolder                        at com.caucho.server.dispatch.FilterManager.createFilter(FilterManager.java:234)                        at com.caucho.server.dispatch.FilterMapper.buildDispatchChain(FilterMapper.java:169)                        at com.caucho.server.webapp.WebApp.buildInvocation(WebApp.java:4119)                        at com.caucho.server.webapp.WebAppContainer.buildInvocation(WebAppContainer.java:798)                        at com.caucho.server.host.Host.buildInvocation(Host.java:753)                        at com.caucho.server.host.HostContainer.buildInvocation(HostContainer.java:319)                        at com.caucho.server.cluster.ServletService.buildInvocation(ServletService.java:1064)                        at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:250)                        at com.caucho.server.dispatch.InvocationServer.buildInvocation(InvocationServer.java:223)                        at com.caucho.server.http.AbstractHttpRequest.buildInvocation(AbstractHttpRequest.java:1609)                        at com.caucho.server.http.AbstractHttpRequest.getInvocation(AbstractHttpRequest.java:1582)                        at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:820)                        at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1353)                        at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1309)                        at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1293)                        at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1201)                        at com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:997)                        at com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117)                        at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93)                        at com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:169)                        at com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61)                        at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173)                        at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)                       Caused by: java.lang.NoClassDefFoundError: Could not initialize class jp.co.intra_mart.foundation.router.RouterFactory$LazyHolder                        at jp.co.intra_mart.foundation.router.RouterFactory.getRouter(RouterFactory.java:73)                        at jp.co.intra_mart.foundation.router.RoutingFilter.init(RoutingFilter.java:50)                        at com.caucho.server.dispatch.FilterManager.createFilter(FilterManager.java:204)                        ... 22 more

 

 

原因としては、ルーティング系の設定ファイルに不備がある可能性。

 

今回は、routing-jssp-configのxmlファイルを編集したのだが、

そのxmlファイル内に構文エラー(ダブルクォート抜け)があった。

 

よく見たら起動中のログにもxmlが解析できない旨のエラーが発生していた。