saiku2.6 构建过程(基于github源码)(20160907修改)


以下步骤基于我的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 刘迎光
saiku 研究学习交流群: 495266201


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页