CrystalDecisions ReportSDKIllegalArgumentException

时间:2015-02-06 08:32:59

标签: crystal-reports business-objects

我目前正致力于迁移BO 4.1相关工具。 该工具用于将水晶报告从放置位置部署到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);

在执行期间,我遇到了异常

  

线程“main”中的异常java.lang.NoClassDefFoundError:   COM / crystaldecisions / SDK / OCCA /报告/ lib中/ ReportSDKIllegalArgumentException     在   com.crystaldecisions.sdk.plugin.desktop.report.internal.ReportFactory.makePlugin(ReportFactory.java:83)     在   com.crystaldecisions.sdk.occa.pluginmgr.internal.PluginMgr.getPluginInterface(PluginMgr.java:349)     在   com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.add_aroundBody0(InfoObjects.java:775)     在   com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.add_aroundBody1 $咨询(InfoObjects.java:512)     在   com.crystaldecisions.sdk.occa.infostore.internal.InfoObjects.add(InfoObjects.java:1)

我四处寻找异常并且看起来有些罐子不匹配问题,但是无法理解哪个罐子以及我在哪里可以找到这些罐子。 任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:1)

在项目中加入 CrystalReportsSDK.jar

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

答案 1 :(得分:0)

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

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