Hello,
I installed Crystal Report 12.2.211 RunTime a few years ago on my java project. The project is installed on NetBeans with the "TomCat 7" server and I use Maven for dependencies. The app works very well.
I have to migrate the server from "TomCat 7" to "TomCat 9" and I cannot execute my code. I have the following error:
java.lang.AbstractMethodError: com.businessobjects.reports.sdk.JRCCommunicationAdapter.setProductLocale(Ljava/util/Locale;)V com.crystaldecisions.proxy.remoteagent.z.a(Unknown Source) com.crystaldecisions.sdk.occa.report.application.ReportAppSession.int(Unknown Source) com.crystaldecisions.sdk.occa.report.application.ReportAppSession.initialize(Unknown Source) com.crystaldecisions.sdk.occa.report.application.ClientDocument.new(Unknown Source) com.crystaldecisions.sdk.occa.report.application.ReportClientDocument.new(Unknown Source) com.crystaldecisions.sdk.occa.report.application.ClientDocument.open(Unknown Source) ch.mpisa.reports.CrystalReports.setReportFile(CrystalReports.java:101) ch.mpisa.reports.GenerateurReports.setReportFile(GenerateurReports.java:22) ch.mpisa.pension.Edition.TraitementCR(Edition.java:1012) ch.mpisa.pension.Edition.Traitement(Edition.java:122) ch.mpisa.presentation.police.FormMut2.trtcmdEdi(FormMut2.java:951) ch.mpisa.presentation.police.FormMut2.traitementMethode(FormMut2.java:413) ch.mpisa.env.Session.traitementMethode(Session.java:769) ch.mpisa.presentation.system.TrtHttp.trtPage(TrtHttp.java:316) ch.mpisa.presentation.system.Body.trtPage(Body.java:15) ch.mpisa.presentation.system.TrtHttp.doPost(TrtHttp.java:89) javax.servlet.http.HttpServlet.service(HttpServlet.java:660) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
The code used is relatively basic
ReportClientDocument report = new ReportClientDocument();
report.setLocale(new Locale("fr", "CH"));
report.setReportAppServer(ReportClientDocument.inprocConnectionString);
report.open(reportFile, 0);
I am persuaded that my error comes from the dependencies used but after a few tries I do not find the problem.
Here is the Maven part on CrystalReport:
<properties>
<crystal.version> 12.2.211 </crystal.version>
</properties>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> CrystalReportsRuntime </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> CrystalCommon2 </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> DatabaseConnectors </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> JDBInterface </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> keycodeDecoder </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> logging </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> crystal-sdk-api </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> crystal-sdk-api-impl </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> serialization </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> com.crystaldecisions </groupId>
<artifactId> QueryBuilder </artifactId>
<version> $ {crystal.version} </version>
</dependency>
<dependency>
<groupId> commons-collections </groupId>
<artifactId> commons-collections </artifactId>
<version> 3.1 </version>
</dependency>
<dependency>
<groupId> commons-configuration </groupId>
<artifactId> commons-configuration </artifactId>
<version> 1.2 </version>
</dependency>
<dependency>
<groupId> commons-lang </groupId>
<artifactId> commons-lang </artifactId>
<version> 2.1 </version>
</dependency>
<dependency>
<groupId> commons-logging </groupId>
<artifactId> commons-logging </artifactId>
<version> 1.2 </version>
</dependency>