以下步骤基于我的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>两个节点注释掉,因为其会访问google的网站,而我无法翻墙,
修改<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即可,详细方式参考文章:
但是仍然有问题,因为下一步saiku-server需要的是war包,而我们deploy的是pom文件(pom文件中的<packaging>节点控制),需要修改saiku-ui的pom文件以及项目,模拟真正的webapp项目,在saiku-ui中创建目录:src\main\webapp\WEB-INF,然后放入一个初始化的web.xml文件(只是为了打包,其实并没有用)
然后修改pom.xm中的<packaging>节点内容为“war”,重新deploy即可
7、构建saiku-webapp
项目右键-->run-->Mavaen Install,完成打包即可
8、构建saiku-server,
项目右键-->run-->Mavaen Install,完成打包即可
好了,整个构建过程都完成了,略累,也许是自己很多技术基础不行,还请大神指教
by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/