场景:

由于项目需求,需要借用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. CSS —— css属性

    1.颜色属性 background-color: #CCCCCC; rgba (红色,绿色,蓝色,透明度) background-color: rgba( 0, 0, 0, 5 ) 2.字体属性 fo ...

  2. 解决Yii ActiveForm监听submit触发2次submit

    今天用yii框架的ActiveForm需要一个奇怪的问题,点击表单提交时会触发两次submit 产生问题的原因: form挂了2次submit事件,一次是yii activeform自带的,一次是我写 ...

  3. js 点击按钮下载图片,另存为

    js: 1 $(document).on('click',"#xiazai",function(){ 2 imgurl = $(".img-box").find ...

  4. [.NET] - 基础知识 - 如何debug一个.NET application

    1.可以使用Debug/Trace类来将runtime信息输出到控制台窗口: https://msdn.microsoft.com/en-us/library/bs4c1wda.aspx https: ...

  5. linux不同环境变量文件的比较,如/etc/profile和/etc/environment

    /etc/profile 为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效. 当被修改时,必须重启才会生效.英文描述:"System w ...

  6. ML.net重新训练模型需要注意的事项。

    ml.net是微软机器学习的东西,如果你的需求是需要一个固定的模型来进行操作的话那就按着官网的教程来就可以,但是大部分的模型可能不满足现有的需求,那么我们需要对模型进行重新训练. 重新训练模型有限制条 ...

  7. 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)

    前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...

  8. [leetcode]669. Trim a Binary Search Tree寻找范围内的二叉搜索树

    根据BST的特点,如果小于L就判断右子树,如果大于R就判断左子树 递归地建立树 public TreeNode trimBST(TreeNode root, int L, int R) { if (r ...

  9. String 类的常用方法都有那些?

    1.indexOf():返回指定字符的索引. 2.charAt():返回指定索引处的字符. 3.replace():字符串替换. 4.trim():去除字符串两端空白. 5.split():分割字符串 ...

  10. 基于snort、barnyard2和base的 网络入侵检测系统的部署与应用

    1.项目分析 1.1.项目背景 伴随着互联网产业的不迅猛发展,新兴技术层数不穷,互联网通讯技术逐渐成为了各行各业不可替代的基础设施,越来越多的业务都是依靠互联网来得以实现.随着我国科技产业的飞速发展, ...