场景:

由于项目需求,需要借用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. UML—20—001

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  2. Spark Connector Reader 原理与实践

    本文主要讲述如何利用 Spark Connector 进行 Nebula Graph 数据的读取. Spark Connector 简介 Spark Connector 是一个 Spark 的数据连接 ...

  3. JQuery ajax request及Java服务端乱码问题及设置

    今天花了半天功夫才搞定2个乱码问题 1. 原先一直用form提交,现在改作JQuery ajax 提交,发现乱码. 2. window.location url中含有中文提交后,乱码. 第一个问题: ...

  4. 精尽Spring MVC源码分析 - HandlerExceptionResolver 组件

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  5. C++libcurl的使用

    一.libcurl描述: 在curl的官方网站 **http://curl.haxx.se/download.html** 提供编译好libcurl包,  最后写一个demod工程,演示下libcur ...

  6. Azure Service Bus(一)入门简介

    一,引言 今天开始学习新的内容 Azure Service Bus(服务总线),其实也叫 "云消息服务",和 RabbitMQ,KafKa的一样都是作为消息通信服务,但是它们直接还 ...

  7. Winform Dock顺序调整

    在布局的时候,当一个窗体内有多个控件使用了Dock属性来布局,Dock顺序的调整: 最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起来也是比较方便,如果最大化 ...

  8. python初学者-使用for循环做一个九九乘法表

    for i in range(1, 10): for j in range(1, i + 1): print(j, '*', i, '=', i * j, end=" ") #en ...

  9. Java学习_Java核心类

    字符串和编码 字符串在String内部是通过一个char[]数组表示的,因此,可以按下面的写法: String s2 = new String(new char[] {'H', 'e', 'l', ' ...

  10. 从数据库将数据导出到excel表格

    public class JxlExcel { public static void main(String[] args) { //创建Excel文件 String[] title= {" ...