• Saku实力挖坑记!!(十八)


    Saiku实力挖坑记!!!!!!!

    我可真真真的是个挖坑小能手呀!不知道你们有没有遇到过这个异常: Enclosure class mondrian.olap.MondrianDef not found

    如果你编译过Mondrian或者尝试过编译Mondrian源码就会知道 MondrianDef这个类是ant命令生成的一个类,如果是自己整合Mondrian与Saiku,缺失这个类很有可能是Mondrian没有编译成功!

    >>>先给出整体异常信息的截图:

    >>> 异常解析

    整体的意思就是说 无发连接到 footmart(这个saiku/mondrian的示例数据信息 作为demo展示的 一般来说不会出错),是由于 org.eigenbase.xom.AssertFailure异常了,org.eigenbase.xom属于eigenbase-xom.jar包,   eigenbase-xom.jar包中找不到 MondrianDef类

    再想想我之前都运行的好好的,怎么突然就报这个错了呢,saiku上都显示不了任何cube信息了。然后我就开始慌张,害怕自己想玩Mondrian,没玩成功反而把saiku给玩坏了。(本来是想本地编译Mondrian的,所以下了好几个版本的源码,最后找了个maven分支的mondrian,下载了Ant配置了环境变量,但是一直没ant成功,最后就暂时放弃了...)

    在试图编码mondrian的时候我做过一个很愚的事情,就是在jdk下面添加了jar包。

    具体操作是这样的: 使用ant命令编译mondrian的时候,老是报错 找不到 eigenbase-xom.jar包下的某个类,然后我就开始上网搜,网友给出建议说将找不到的jar丢在 jdk1.8.0_191jrelibext 目录下就能找到了,结果我就信了... 就把包丢进去了,

    后来还是没成功,我当时也忘记删掉ext目录下新增的eigenbase-xom.jar了,就开始了别的事情....  再次重启saiku就出现了以上异常:Enclosure class mondrian.olap.MondrianDef not found  

    >>>解决方案

     jdk1.8.0_191jrelibext  目录下自己手动新增的jar删除,就可以正常启动saiku了!!!

    这里就在告诉我们千万不要随便在  jdk1.8.0_191jrelibext  目录下增加我们自己的jar包,具体原因估计还要去了解一下JVM类加载机制。

    这里就是先加载了ext包下的 eigenbase-xom.jar,但是其他引用的jar又还在项目中,所以就抛了异常!!!

  • 相关阅读:
    这一次,彻底弄懂 JavaScript 执行机制
    flex布局实例demo全解
    Sass和less的区别是什么?用哪个好
    开放服务器特定端口
    使用jacob报错:com.jacob.com.ComFailException: Can't get object clsid from progid
    计算机网络基础
    前端分页3
    window 10 Microsoft Edge 无法使用开发者模式【F12】
    docker下载安装
    git常用笔记
  • 原文地址:https://www.cnblogs.com/DFX339/p/10580685.html
Copyright © 2020-2023  润新知