

動作環境 : Windows10 64bit, Eclipse4.8 Photon, Java1.8.0_191, MySQL8.0.13,
cr4e_2.0.24

実装したいこと : DB内データの印刷機能

実現できたこと : 印刷機能実装(データ読み込み、プリンタ印刷)

問題点(実現できていないこと) : 「CrystalReport1-viewer.jsp」を「サーバーで実行」するとエラー発生。

エラー内容 :

[code]

    HTTPステータス 500 - Internal Server Error
    
    
    Type Exception Report
    
    メッセージ javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/sap/security/core/server/csi/XSSEncoder
    
    説明 The server encountered an unexpected condition that prevented it from fulfilling the request.
    
    例外
    org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/sap/security/core/server/csi/XSSEncoder
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:606)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:467)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    
    
    原因
    javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/sap/security/core/server/csi/XSSEncoder
        org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:667)
        org.apache.jsp.CrystalReport1_002dviewer_jsp._jspService(CrystalReport1_002dviewer_jsp.java:141)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    
    
    原因
    java.lang.NoClassDefFoundError: com/sap/security/core/server/csi/XSSEncoder
        com.businessobjects.report.web.f.for(SourceFile:112)
        com.businessobjects.report.web.e.byte(SourceFile:442)
        com.businessobjects.report.web.e.a(SourceFile:223)
        com.businessobjects.report.web.e.a(SourceFile:135)
        com.crystaldecisions.report.web.ServerControl.a(SourceFile:607)
        com.crystaldecisions.report.web.ServerControl.processHttpRequest(SourceFile:342)
        com.crystaldecisions.report.web.viewer.taglib.ServerControlTag.doEndTag(SourceFile:45)
        com.crystaldecisions.report.web.viewer.taglib.ReportServerControlTag.doEndTag(SourceFile:74)
        com.crystaldecisions.report.web.viewer.taglib.ViewerTag.doEndTag(SourceFile:34)
        org.apache.jsp.CrystalReport1_002dviewer_jsp._jspx_meth_crviewer_005fviewer_005f0(CrystalReport1_002dviewer_jsp.java:188)
        org.apache.jsp.CrystalReport1_002dviewer_jsp._jspService(CrystalReport1_002dviewer_jsp.java:128)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    
    
    原因
    java.lang.ClassNotFoundException: com.sap.security.core.server.csi.XSSEncoder
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1138)
        com.businessobjects.report.web.f.for(SourceFile:112)
        com.businessobjects.report.web.e.byte(SourceFile:442)
        com.businessobjects.report.web.e.a(SourceFile:223)
        com.businessobjects.report.web.e.a(SourceFile:135)
        com.crystaldecisions.report.web.ServerControl.a(SourceFile:607)
        com.crystaldecisions.report.web.ServerControl.processHttpRequest(SourceFile:342)
        com.crystaldecisions.report.web.viewer.taglib.ServerControlTag.doEndTag(SourceFile:45)
        com.crystaldecisions.report.web.viewer.taglib.ReportServerControlTag.doEndTag(SourceFile:74)
        com.crystaldecisions.report.web.viewer.taglib.ViewerTag.doEndTag(SourceFile:34)
        org.apache.jsp.CrystalReport1_002dviewer_jsp._jspx_meth_crviewer_005fviewer_005f0(CrystalReport1_002dviewer_jsp.java:188)
        org.apache.jsp.CrystalReport1_002dviewer_jsp._jspService(CrystalReport1_002dviewer_jsp.java:128)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    
[/code]

注意 原因のすべてのスタックトレースは、のログに記録されています

Apache Tomcat/9.0.10

以上

質問本文 :
上記の環境でJavaでCrystalReportsを利用したところ、一部エラーに悩まされています。印刷用のJSPは問題なく実行できるのに、ビューワー用JSPだけエラーが出る原因はどのようなことが考えられますでしょうか？


CC BY-SA 4.0
2019-01-12T13:04:01.120
51920
2019-01-13T04:08:11.777
2019-01-13T00:46:51.557
3068
question
java
CrystalReports for Eclipseにおける不具合について


直接の原因はservlet コンテナ(上で動作するservlet)から、「
com/sap/security/core/server/csi/XSSEncoder」を解決できないことです。該当のクラスを含むjarファイルを参照可能なクラスローダに載せる必要があります。  
確認すべき項目は、  
・/WEB-INF/libに該当のJarファイルが存在するか  
・環境変数CLASSPATHに該当のJarが存在するか  
→この場合、ローダの委譲関係によっては参照到達不可能なので、気を付けてください。

あと、このあとのはまりポイントとしては、「移譲関係間違えていて参照到達不可能」とかですかね。  
経験したケースでは、Warクラスローダ（移譲元)からEarクスローダー（委譲先）上のクラスを参照しようとしてはまったことがあります。そのほかいろいろなケースがあるので、こればかりはきちんと設計をするか、try&Errorで進むしかないかと。

以上です


CC BY-SA 4.0
2019-01-13T00:03:57.943
51928
2019-01-13T00:03:57.943
10174
51920
answer