Crystaldecisions ReportSDK非法参数异常

Crystaldecisions ReportSDKIllegalArgumentException

我目前正在迁移 BO 4.1 相关工具。 该工具用于将 crystal 报告从放置位置部署到 BO 服务器。该工具是使用 BO XI 3.1 Java SDK 代码开发的,将迁移到 BI 4.1。

在代码中,它通过查询 infoStore 获取 IInfoObjects 实例。 使用的查询

"SELECT TOP 1 * FROM CI_INFOOBJECTS WHERE SI_KIND='CrystalReport' AND SI_NAME ='XXXX' AND SI_INSTANCE = 0"

当前没有可用的 infoObjects,因此代码使用

创建一个新的 infoObjects 集合
infoStore.newInfoObjectCollection();

此外,代码将使用以下代码创建 IReport

IReport report = (IReport) infoObjects.add(pluginInfo);

在此执行期间,我遇到以下异常

Exception in thread "main" java.lang.NoClassDefFoundError: com/crystaldecisions/sdk/occa/report/lib/ReportSDKIllegalArgumentException at com.crystaldecisions.sdk.plugin.desktop.report.internal.ReportFactory.makePlugin(ReportFactory.java:83) at com.crystaldecisions.sdk.occa.pluginmgr.internal.PluginMgr.getPluginInterface(PluginMgr.java:349) at com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.add_aroundBody0(InfoObjects.java:775) at com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.add_aroundBody1$advice(InfoObjects.java:512) at com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.add(InfoObjects.java:1)

我四处搜索异常,它似乎是一些 jar 不匹配问题,但无法理解哪个 jar 以及在哪里可以找到这些 jar。 任何建议都会有所帮助。

在您的项目中包含 CrystalReportsSDK.jar

有许多实用程序可帮助查找丢失的 classes 的 jar 文件。我更喜欢便宜的方法——只需从 jar 目录中执行 unzip -l *.jar > jars.txt,然后在 jars.txt 中搜索丢失的 class.

谢谢!添加罐子帮助我解决了问题。 回答我问的第二个问题,关于罐子的位置

{Installation loc}/opt/businessobjects/bo41/sap_bobj/enterprise_xi40/java/lib