ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

apache kylin 本地编译步骤及主要填坑方法

2021-06-10 10:31:59  阅读:326  来源: 互联网

标签:kylin commons 编译 填坑 apache org 源代码


首先是环境准备,

请参考

源码编译Kylin(详细版)https://blog.csdn.net/weixin_42536586/article/details/108446512

补充几点:

1、最好在linux下编译,因为自带的sh脚本在windows下无法执行

2、使用jdk1.8,oracle官网最新是16,不要用。而且不要只安装jre,需要使用jdk

3、配置好JAVA_HOME指向jdk安装的目录

4、MAVEN的阿里源好多包不全,如果速度没问题,可以使用默认源。也就是把上文中的阿里源用<!--    -->标签注释掉

源文件准备:

大家做开发,习惯于从git上git clone源代码。

Kylin编译部署及汉化

这篇文档也是教大家git clone https://github.com/apache/kylin.git

但是,这样获得的源码是最新源代码。而我们实际应该使用的是各个release版本的源代码。

这些release版本的源代码,需要从http://archive.apache.org/dist/kylin找到对应版本的源代码下载。比如,我要编译针对hadoop的3.1.2版本,则下载

wget http://archive.apache.org/dist/kylin/apache-kylin-3.1.2/apache-kylin-3.1.2-source-release.zip

源码下载后,针对源码编译Kylin(详细版)

针对POM.XML修改以后的补充如下:

有可能从core-common起编译就失败。基本原因是以下两个:

1.对应子项目的POM.XML中缺乏必要的依赖项。

解决办法:在maven或阿里云的源中,查找依赖项的pom并补充进云

2.源代码有误,比如core-common中有一段代码,用的是configuration2包中类的方法,但源代码用的是configuration包中的类。

解决办法:适当修改源代码。

目前积累的修改有:

1.core-common

/src/test/java/org/apache/kylin/common/metrics/metrics2/StandaloneExample.javaStandalone.java

import org.apache.commons.configuration.SubsetConfiguration;

改为

import org.apache.commons.configuration2.SubsetConfiguration;

 

pom.xml中增加以下依赖项

<dependency>

    <groupId>commons-collections</groupId>

    <artifactId>commons-collections</artifactId>

    <version>3.2.2</version>

</dependency>

 

<dependency>

    <groupId>com.melloware</groupId>

    <artifactId>commons-configuration2</artifactId>

    <version>2.8.0</version>

</dependency>

 

 

<dependency>

     <groupId>commons-codec</groupId>

     <artifactId>commons-codec</artifactId>

     <version>1.10</version>

</dependency>

2.stream-core

pom.xml

增加以下依赖

 

<!-- https://mvnrepository.com/artifact/org.apache.directory.api/api-util -->

<dependency>

    <groupId>org.apache.directory.api</groupId>

    <artifactId>api-util</artifactId>

    <version>2.0.2</version>

</dependency>

3.hive-sources

pom.xml

增加以下依赖

<dependency>

    <groupId>commons-configuration</groupId>

    <artifactId>commons-configuration</artifactId>

    <version>1.6</version>

</dependency>

标签:kylin,commons,编译,填坑,apache,org,源代码
来源: https://blog.csdn.net/atlasun/article/details/117769449

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有