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_191\jre\lib\ext 目录下就能找到了,结果我就信了... 就把包丢进去了,

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

>>>解决方案

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

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

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

Saku实力挖坑记!!(十八)的更多相关文章

  1. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十八)

    在游戏中制作手臂瞄准线,也就是所谓的辅助延长线.玩台球游戏的童鞋应该可以了解. 按道理来说,延长线是一个物理实体,遇到物理刚体应该会发生反弹行为,这个符合实际游戏逻辑. 但是这里为了简单,只是做一条& ...

  2. (NO.00001)iOS游戏SpeedBoy Lite成形记(十八)

    现在需要实现具体的游戏逻辑大致如下: 玩家点击某条赛道选择一个选手,然后会弹出菜单窗口让玩家输入压赌的金额,如果输入的金额值非法,则在GameInterface下部的状态栏中显示提示,要求玩家重新输入 ...

  3. 201771010126 王燕《面向对象程序设计(java)》第十八周学习总结

    实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设 ...

  4. NET运用String的十八层境界

    古往今来,文本处理一直是所有编程语言的最基础的功能,也是最核心最重要的功能.任何初学者,如果想学一门编程语言,都要面对大量的文本处理.而或许有一天,即使你成了大师级的人物,也不敢说自己驾驭文本处理的能 ...

  5. Redis进阶实践之十八 使用管道模式提高Redis查询的速度

    原文:Redis进阶实践之十八 使用管道模式提高Redis查询的速度 一.引言             学习redis 也有一段时间了,该接触的也差不多了.后来有一天,以为同事问我,如何向redis中 ...

  6. 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除

    目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...

  7. 王颖奇 201771010129《面向对象程序设计Java》第十八周实验总结

    实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设 ...

  8. spring-boot-route(十八)spring-boot-adtuator监控应用

    Spring Boot提供了良好的服务监控模块,只需要通过简单的配置便可以完成服务监控和管理.但是服务监控这块内容往往是最容易被忽略的一块内容,今天我们一起来学习一下使用spring-boot-act ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能

    在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities ...

随机推荐

  1. docker和kubernetes中hostname的使用和常见问题

    hostname在docker中是使用UTS namespace进行隔离的.docker中主要有两种ns的用法, 一种是docker run --uts="" busybox.这种 ...

  2. Bugku-CTF之过狗一句话(送给大家一个过狗一句话)

    Day25 过狗一句话   http://123.206.87.240:8010/ 送给大家一个过狗一句话<?php $poc="a#s#s#e#r#t"; $poc_1=e ...

  3. vue 父组件调用子组件内置方法

    背景介绍:外派到泰康做项目.这个项目中有个选择组织的功能,是一个树桩结构的懒加载,于是我就element-ui的tree组件封装了一个公共的组件. 但是后来发现他们的公司组织结构不是都请求的同一个接口 ...

  4. net应用程序池自动关闭的解决方法

    while (true) { using (ServerManager sm = ServerManager.OpenRemote("localhost")) { string p ...

  5. 论文笔记:SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks

    SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks 2019-04-02 12:44:36 Paper:ht ...

  6. tp5.1中的容器和facade的实现

    首先定义: 容器(Container)实现类的统一管理,确保对象实例的唯一性. 门面(Facade)为容器(Container)中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可 ...

  7. Python3学习笔记--迭代器

    迭代 使用一个循环来遍历某个东西时这个过程本身叫做迭代. 可迭代对象 python中只要定义了可以返回一个迭代器的__iter__方法,或者定义了可以支持下标索引的__getitem__方法,那么它就 ...

  8. oracle更改字符集为zhs16GBK

    PDBalter pluggable database PDBANBOB open; alter session set container=pdbanbob; ALTER SYSTEM ENABLE ...

  9. Oracle中用户的创建和权限设置

    权限: CREATE SESSION --允许用户登录数据库权限 CREATE TABLE --允许用户创建表权限 UNLIMITED TABLESPACE --允许用户在其他表空间随意建表 角色: ...

  10. hdoj3247

    注意fail时怎么走. #include <iostream> #include <cstdio> #include <cmath> #include <al ...