[大数据可视化]-saiku的源码打包运行/二次开发构建

 Saiku构建好之后,会将项目的各个模块达成jar包,整个项目也会打成war包

  •   saiku目录结构:

     

我们选中saiku-server/target/ 下面的zip压缩包。这是个打包后的文件,进行解压:

  •  saiku-server/target/目录结构:

    

我这里是3.8.7的版本,压缩包解压之后进入其中是一个saiku-server目录:

  • saiku-server/target/saiku-server-foodmart-3.8.7/saiku-server目录结构:

    此时可以直接用start-saiku.bat脚本启动tomcat了,在tomcat的webapps目录下可以看到saiku文件夹和ROOT文件夹,

  • saiku-server/tomcat/webapps目录结构:

    

  • ROOT中存放的是saiku的静态文件:

    

  • Saiku中存的主要是配置和jar文件(都在WEB-INF下):

   

  • WEB-INF目录结构(lib下存放的是jar,包含源代码和依赖的jar):

  

*  将ROOT中的所有文件copy到saiku中得到如下saiku目录:

 

接下来就可以运行saiku了:

回到saiku-server目录下点击:

 

就可以看到tomcat已经启动了,启动完成之后在浏览器输入:localhost:8080/saiku就可以看到登录页面:

 

输入用户名密码:admin/admin然后Login:

 

这里提示没有注册码:如果有没有注册码可以先下载一个或者申请一个之后访问:

http://localhost:8080/saiku/upload.html

进行license上传,成功后返回登陆页面登陆进入主页:

 

点击A进入管理控制台:

 

Schema就是CUBE对应的xml,DataSource是数据源,我们可以通过addSchema上传xml,Add DataSource配置数据源,

 

数据源的作用就是去对应的位置连接数据,首先根据schema的配置在数据库中查询对应的数据是否存在,校验完毕之后没有问题我们就可以进行查询分析了。

点击管理控制台右侧的”+”号选择多维数据:

 

这里面的是系统自带的示例文件。选则一个,再选则指标和维度就可以进行组合查询了。

二次开发

对于saiku的二次开发,直接运行源码发现运行错误,很多资源找不到,这是因为这些配置文件是根据构建之后打包文件运行的相对路径设定的。因此我们需要重新创建一个web项目。

  1. 新建一个名saiku的web项目。
  2. 在java Resources下新建三个Source Folder:
    • src/main/java/saiku-web
    • src/main/java/saiku-service
    • src/main/java/saiku-olap-util

  3.将源代码中saiku-web,saiku-service, saiku-olap-util对应的文件下面的所有包copy到对应这三个Source Folder下。

  4.将构建好的源代码中saikusaiku-server argetsaiku-server-foodmart-3.8.7saiku-server omcatwebapps下的ROOT,和saiku中的所有文件copy到本项目的webContent下。

  5.将saikusaiku-server argetsaiku-server-foodmart-3.8.7saiku-server下的data,repository文件夹copy到webContent下。

**

以上5步就创建好了一个saiku的项目,最后一步也是最重要的一步,修改配置定位资源。

**

先看下整个目录结构:

 

  1. 修改WebContent/WEB-INF/saiku-beans.properties,修改所有的相对路径重新定位到本项目的配置文件。

     

然后运行项目。。。。。。。。

                                    License的去除

运行项目的时候没有License就无法进入主页,我们可以通过修改源代码的方式去除掉License的校验。在saiku-web包下面的rest.resources下面的License.java文件中有一个validateLicense的方法。我们注释掉其中的校验部分,直接让他返回校验成功。

这样登录的时候直接跳过了校验。

原文地址:https://www.cnblogs.com/NextNight/p/6520106.html