一,配置
前一阶段对mondrian和jpivot的测试主要建立在jar与war包的基础上面,若要对mondrian源码进行跟踪调试,需要导入mondrian源码包到ide(eclipse)环境中,在构建mondrian源码工程时,要做好相应的准备工作,确保源码不依赖于mondrian.jar包。
由于开源的mondrian3.0.3发布源码工程中没有将全部的源代码提交到工程中,所以我们构建构成中会缺失一些源代码,但其在工程中提供了mondrian.jar来处理。Mondrian3.0.3的源代码工程中缺失的源代码是由工具自动生产的,并且它提供了生产这些源代码的过程,在build.xml中说明如何生产。下面是简要的工程构建过程说明:
3、在工程属性中指定源代码目录为src/main:右击工程——属性——Java Build Path——选择Source选项卡——删除mondrian工程/src——Add Folder到目录 mondrian工程/src/main;
4、ant运行build.xml文件的prepare,parser,generate.resources,def四个目标过程, 按顺序运行(最好是在命令行下ant整个build文件,在ide中有ant不完全的情况)
(MondrianGuiDef类是因为执行这几个目标过程生成的,要不然就会没有MondrianGuiDef这个类的定义而导致出错,应该还有些其他文件也是运行这四个目标过程生成的,所以这一步很重要)
5、将mondrian.war发布包中的WEB-INF/lib中的jar包全部拷贝到Mondrian工程的lib目录中;
6、根据提示的异常导入必要的jar包文件(最简单的方法是把所有的包导入:右击工程——属性——Java Build Path——选择Libraries选项卡——Add JARs——导入lib下的所有jar,Add External JARS ——导入TOMCAT_HOME/common/lib下的所有的包);
注意:1、最后执行ant完成对工程进行清理处理;
2、如果一切正常,之后则不需要用mondrian.jar文件,可以依此为标准检测是否构建成功。
Mondrian 工程构建过程
1 、在 eclipse 中构建一个空的 java 工程 (Mondrian 工程 ) ;
2 、将 Mondrian3.0.3 的源码压缩包解压,将其内容全部拷贝到 Mondrian 工程中;
二,在Mondrian工程中构建一个查询进行测试
在查询过程中,Mondrian将mdx语句转换成sql语句,用jdbc访问数据库,实现了立方体的缓存,这是其特点所在。Jpivot并不是对Mondrian提供的公共api的简单调用,而是自己对Mondrian再进行了封装,所以需要对Mondrian的api