saiku2.6 构建过程(基于github源码)(20160907修改)
saiku2 java OpenSource    2017-07-19 22:24:35    770   
lightingfire   saiku2 java OpenSource
以下步骤基于我的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库中,详细方式参考文章:
    http://note.youdao.com/share/?id=583871b294cbab9d015b037a2ec69fef&type=note
    
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/

Pre: eclipse maven depoly项目到nexus

Next: linux下将nexus做成系统服务


Table of content