场景:

由于项目需求,需要借用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源码的更多相关文章

  1. Spark 学习(三) maven 编译spark 源码

    spark 源码编译 scala 版本2.11.4 os:ubuntu 14.04 64位 memery 3G spark :1.1.0 下载源码后解压 1 准备环境,安装jdk和scala,具体参考 ...

  2. Spark笔记--使用Maven编译Spark源码(windows)

    1. 官网下载源码 source code,地址: http://spark.apache.org/downloads.html 2. 使用maven编译: 注意在编译之前,需要设置java堆大小以及 ...

  3. maven编译下载源码

    下载源码 mvn dependency:sources 跳过TEST mvn  -DskipTests

  4. 编译Hadoop源码

    背景: 在阅读hadoop源代码过程中会发现部分类或者函数无法找到,这是由于Hadoop2.0使用了Protocol Buffers定义了RPC协议, 而这些Protocol Buffers文件在Ma ...

  5. Windows 10 x64 下编译 Hadoop 源码

    Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...

  6. gradle 编译kafka源码慢

    我前提已经在环境变量中将GRADLE_HOME设置到了gradle的目录(在E盘),并且在环境变量里设置了本地仓库GRADLE_USER_HOME. 编译kafka源码时候,很慢很慢.百度了一下,有说 ...

  7. 编译spark源码及塔建源码阅读环境

    编译spark源码及塔建源码阅读环境 (一),编译spark源码 1,更换maven的下载镜像: <mirrors> <!-- 阿里云仓库 --> <mirror> ...

  8. win7+idea+maven搭建spark源码阅读环境

    1.参考. 利用IDEA工具编译Spark源码(1.60~2.20) https://blog.csdn.net/He11o_Liu/article/details/78739699 Maven编译打 ...

  9. mybatis源码专题(1)--------复习jdbc操作,编译mybatis源码,准备为你的简历加分吧

    本文是作者原创,版权归作者所有.若要转载,请注明出处.文章中若有错误和疏漏之处,还请各位大佬不吝指出,谢谢大家. 1.mybatis的底层是jdbc操作,我们来回顾一下,如下  运行以后的结果如下图: ...

随机推荐

  1. adb devices查看不到Android模拟器的设备

    1.先开启模拟器,后执行adb devices命令: List of devices attached 2.找到SDK的安装目录下platform-tools文件夹下adb.exe文件,将其复制到桌面 ...

  2. Python的基本介绍

    我认为Python打破了传统语言的各种细节,让我对编程语音有了全新认识 Python的优势: 可移植性高,解释性更加简单,这两点在编程语言发展到现在已经成为不可或缺的一部分,而很多种编程语言能做到这几 ...

  3. vue 属性绑定 v-bind

    属性绑定 v-bind 可以通过v-bind将属性值与数据绑定,这样就可以统一化管理 通过这样我们就可以直接访问跳转到百度页面 同样的这个值我们也可以通过事件进行改变 这样就可以方便我们做一些其它的操 ...

  4. js上 四、数据类型转换

    1. 转布尔类型 Boolean():可以将任意类型的数据转为布尔类型: 语法:Boolean(值) 规则:

  5. 你真的了解Python自动化吗?这篇文章可以让你了解90%

    人们为什么使用Python? 之所以选择Python的主要因素有以下几个方面: 软件质量:在很大程度上,Python更注重可读性.一致性和软件质量,从而与脚本语言世界中的其他工具区别开发.此外,Pyt ...

  6. redis 五种常见攻击方法

    如果需要大佬写好的脚本,可以直接去github上面搜 参考文章:https://www.cnblogs.com/wineme/articles/11731612.html    https://www ...

  7. 2020年“感恩杯”台州学院第十三届大学生程序设计竞赛D、H、I题解(后续补充)

    D题:小z与他的袜子 描述 小z每天会穿一双新袜子. 开始他的衣柜里有n双袜子,袜子会从1-n进行编号.每天早上他都会从衣柜里拿编号最小的袜子来穿.每天晚上他会把今天穿的袜子扔进篮子里,如果篮子里有n ...

  8. Dapper 返回Sql server 自增长ID 标识列SCOPE_IDENTITY

    原理 使用SELECT SCOPE_IDENTITY(),取获取刚刚插入记录自增的主键 示例 entity.Create(); StringBuilder strSql = new StringBui ...

  9. [EF] - 作为DAL层遇到的问题

    今天在部署一个经典三层的项目的时候,用到了EntityFramework,碰到几个问题: 在用EntityFramework将数据库导入到DAL层后,在BL层引用该DAL后,在测试项目的时候,想要查询 ...

  10. WPF 中的相关样式

    <Image Name="icon" Width="40" Height="40"  Source="/Resources/ ...