MAVEN编译NIFI源码
Posted 学无涯,苦做舟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MAVEN编译NIFI源码相关的知识,希望对你有一定的参考价值。
场景:
由于项目需求,需要借用NIFI进行二次开发,因此需要将NIFI源码进行修改,然后编译,办公环境无外网。
步骤:
(1) 找一台可以上网(外网)的机器,安装java环境和maven环境,安装完成后使用java –version 和maven –v命令测试是否安装正确。
(2) 设置maven安装路径下的conf/setting.xml中的LocalRepository的值,设置本地仓库的位置(便于拷贝回办公环境)。
(3) 设置maven的JVM的内存大小,windows环境在环境变量中添加MAVEN_OPTS变量,值为-Xms512m –Xmx1024m,linux环境则在/etc/profile中添加export MAVEN_OPTS=”-XMS512m –XMX1024m”,添加完成后使用source /etc/profile 命令使设置生效,其中jvm大小的值根据个人机器进行设置,本设置已足够nifi的编译,此步骤必须设置否则出现java内存不足的问题。
(4) 进入NIFI官网,下载最新的NIFI源码程序到本地,然后解压。
(5) 在命令窗口(命令行)中进入NIFI源码工程的根目录下,使用mvn clean compile进行NIFI的编译。
(6) 编译完成后,所有的依赖包会下载到本地仓库,将本地仓库拷贝回办公环境。
(7) 将NIFI源码拷贝回办公环境。
(8) 将node下载的模板文件拷贝回办公环境,node的默认地址为C:\Users\Administrator\AppData\Roaming\npm-cache,若是没有AppData,则设置查看隐藏文件夹即可看到,拷贝回去后放在相同的目录下。
(9) 在办公环境下配置java和maven运行环境,并用java –version和mvn –v命令测试是否安装正确,设置maven的jvm大小参数,设置maven本地仓库。
(10) 命令窗口下进入源码工程根目录,运行mvn clean compile命令进行编译。
相关问题:
(1) linux环境下进行依赖包下载时需要在用户模式下进行maven的设置以及打包,否则会出现拷贝回去的依赖包无法使用的情况。
(2) 本地仓库中存在某个jar包,但是编译时依然会出现连接外网进行下载的问题,此时需要找到这个jar包的位置,然后删掉_remote.repositories文件,再次编译即可正常运行。
(3) 出现java内存不足的问题,设置maven的jvm大小即可,设置方法参考编译步骤的第三步。
(4) 出现npm连接外网进行下载,然后下载失败的问题,参考编译步骤第八步。
以上是关于MAVEN编译NIFI源码的主要内容,如果未能解决你的问题,请参考以下文章