AWS Fargate容器中Java SDK连接Crystal Report服务器因bcm.jar报错
Crystal Report SDK登录环节NoClassDefFoundError问题
我使用Crystal Report生成PDF报表,近期将服务器升级至最新版本,并获取了对应的Java Crystal Report SDK客户端库。在AWS Pipeline中可从仓库下载这些jar包,但打包生成的Spring Boot胖jar中缺少bcm.jar。
应用发布至Artifactory并部署到AWS ECS容器后启动正常,健康检查及其他API均运行正常,但通过Postman调用生成报表的REST API时,在执行如下代码的sessionMgr.logon环节失败:
import com.crystaldecisions.sdk.framework.CrystalEnterprise; import com.crystaldecisions.sdk.framework.IEnterpriseSession; import com.crystaldecisions.sdk.framework.ISessionMgr; ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr(); IEnterpriseSession enterpriseSession = sessionMgr.logon(userId, password, serverName, rasAuthType);
捕获到的运行时异常如下:
java.lang.NoClassDefFoundError: Could not initialize class com.businessobjects.bcm.BCM at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.establishConfidentialChannel(ConfidentialChannelService.java:189) ~[cecore-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.occa.security.internal.ConfidentialChannelService.createConfidentialChannel(ConfidentialChannelService.java:149) ~[cecore-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.occa.security.internal.CCMap.locateCCItem(CCMap.java:63) ~[cecore-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:938) ~[cecore-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:892) ~[cecore-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:248) ~[cecore-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:166) ~[cecore-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:823) ~[cesession-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:523) ~[cesession-14.3.0.jar!/:14.2.9.4130] at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1) ~[cesession-14.3.0.jar!/:14.2.9.4130]
Crystal Report jar包新旧版本对比:

内容的提问来源于stack exchange,提问作者Dipak Dutta
相关产品推荐
相关产品推荐

