以下步骤基于我的nexus足够多的资源,我稍后会将我部署的proxy的nexus库分享出来
1、下载源码:
saiku2.6的源码:
https://github.com/OSBI/saiku/tree/v2.6
saiku-query的源码:
https://github.com/OSBI/saiku-query
saiku-ui的源码:
https://github.com/OSBI/saiku-ui/tree/v2.6
2、将项目都导入到eclipse中
修改saiku-core的pom.xml,将<repositories>节点的整块儿代码都注释掉,因为通过我实际编译的过程中发现很多jar包在一些nexus仓库上就是坏掉的,所以不要整体使用外部的nexus库
然后将<repositories>节点的所有代码迁移到saiku-service中
3、构建saiku-query:
在这里,我们需要将saiku-query项目deploy到我们自己的nexus库中,详细方式参考文章:
4、构建saiku-core
(20160701修改),理论上,这里应该deploy到nexus中,但是eclipse本地构建,不需要deploy到eclipse也可以
修改saiku-core和saiku-olap-util下的pom文件中仓库地址(repositories节点下)为:
<repository>
<id>mine</id>
<name>public Releases</name>
<layout>default</layout>
</repository>
<repository>
<id>mine-meteorite-bi-release</id>
<name>public Releases</name>
<layout>default</layout>
</repository>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>
http://repo1.maven.org/maven2</url>
<!-- <snapshots> modify by liuyg <enabled>false</enabled> </snapshots> -->
</repository>
|
修改各个子项目,将 olap4j-xmla 和olap4j的版本由1.2.0-SNAPSHOT改为1.2.0
项目右键-->run-->Mavaen Install
5、修改saiku-olap-util下的pom文件(
20160907添加)
<dependency>
<groupId>pentaho</groupId>
<artifactId>mondrian</artifactId>
<version>3.6.5</version>
<exclusions><!-- add by liuyg -->
<exclusion>
<artifactId>commons-vfs</artifactId>
<groupId>commons-vfs</groupId>
</exclusion>
</exclusions>
</dependency>
|
6、构建saiku-ui并deploy到本地的nexus中,方法与第3步相同
但是需要修改一个pom文件,否则无法构建成功,
首先修改如下位置:
<groupId>为net.alchim31.maven的plugin,在<configuration>节点中添加如下代码:
<encoding>UTF-8</encoding>
修改<repositories>节点和<pluginRepositories>两个节点
(20160701修改)
<repositories>
<repository>
<id>mine</id>
<name>public Releases</name>
<layout>default</layout>
</repository>
<repository>
<id>mine-meteorite-bi-release</id>
<name>public Releases</name>
<layout>default</layout>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>mine</id>
<name>public Releases</name>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
|
然后deploy到nexus即可,详细方式参考文章:
然后修改pom.xm中的<packaging>节点内容为“war”,重新deploy即可
但是仍然有问题,因为下一步saiku-server需要的是war包,而我们deploy的是pom文件(pom文件中的<packaging>节点控制),需要修改saiku-ui的pom文件以及项目,模拟真正的webapp项目,在saiku-ui中创建目录:src\main\webapp\WEB-INF,然后放入一个初始化的web.xml文件(只是为了打包,其实并没有用)
7、构建saiku-webapp
项目右键-->run-->Mavaen Install,完成打包即可
8、构建saiku-server,
项目右键-->run-->Mavaen Install,完成打包即可
好了,整个构建过程都完成了,略累,也许是自己很多技术基础不行,还请大神指教
by 刘迎光
saiku 研究学习交流群: 495266201