编译NIFI源码
时间:2022-07-24
本文章向大家介绍编译NIFI源码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最近新来了一次代码,构建的时候心血来潮,又重新过了一遍(回想17年刚毕业的时候构建的是一塌糊涂。。。啥也不知道,懵懵的)
国内拉取源码还是建议用码云
git clone -b master git@gitee.com:mirrors/nifi.git
如果网络环境(翻的速度也很好)很好,那可以直接用IDE打开项目,构建maven项目。
但通常国内的开源代码编译环境不是那么如人意
其实大部分的依赖在阿里云都可以下载到,以下我以阿里镜像为主,新建了一个maven setting文件,可能有些repo不是必须的,但我也就不一一去测了,干脆把阿里仓库都加上了。
除了阿里仓库和martiansoftware,其他的仓库都代理到阿里public上
<?xml version="1.0" encoding="UTF-8"?>
<settings
xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/Users/zhangcheng/.m2/repository</localRepository>
<pluginGroups></pluginGroups>
<proxies></proxies>
<mirrors>
<mirror>
<!-- 以防有未知的仓库 把未知的仓库都给代理到阿里public了 -->
<id>aliyunmaven</id>
<mirrorOf>external:*,!central,!jcenter,!martiansoftware,!spring,!google,!gradle-plugin,!spring-plugin,!grails-core,!apache-snapshots,!cloudera-repos</mirrorOf>
<name>阿里云公共仓库</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<servers>
</servers>
<profiles>
<profile>
<id>nexus</id>
<properties>
<downloadSources>false</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
</properties>
<repositories>
<repository>
<id>central</id>
<url>https://maven.aliyun.com/repository/central</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<repository>
<id>jcenter</id>
<url>https://maven.aliyun.com/repository/jcenter</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<repository>
<id>spring</id>
<url>https://maven.aliyun.com/repository/spring</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<repository>
<id>google</id>
<url>https://maven.aliyun.com/repository/google</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<repository>
<id>gradle-plugin</id>
<url>https://maven.aliyun.com/repository/gradle-plugin</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<repository>
<id>spring-plugin</id>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<repository>
<id>grails-core</id>
<url>https://maven.aliyun.com/repository/grails-core</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<repository>
<id>apache-snapshots</id>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<!-- 不知道是不是我用MAC的缘故,有个jar包 需要在这个仓库里下 -->
<repository>
<id>martiansoftware</id>
<url>http://mvn.martiansoftware.com/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
<!-- 用了有些Cloudera的包 比如Kite里的jetty -->
<repository>
<id>cloudera-repos</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
因人而异,其实配置不配置mirror不重要,你用了那些仓库也不重要,重要的是你再clean install的时候发现缺失jar包,你要知道依赖的jar包在哪个仓库下可以下载到。
比如:org.mortbay.jetty:jetty:jar:6.1.26.cloudera.4
搜一下
一般使用https://mvnrepository.com/,查询缺失的jar,在Note找到对应的仓库就可以了。
但org.mortbay.jetty:jetty:jar:6.1.26.cloudera.4,在Spring Plugins repository (https://repo.spring.io/plugins-release/)里找不到,在Cloudera 3rd-P里可以找到。
或者直接搜到的Cloudera仓库
大体上就是这么个思路。
- 如何解决打开VS2010后没有UI界面的问题
- RadRails1.0降临——增加Profiler、CallGraph Analyzer和Rails Shell等新特性
- Rails存储库从SVN转向Git
- 报告称10后已变成出境游“老司机”屌丝80后:我还没出过国
- 担心人工智能取代你的工作?听听微软科学家怎么说!
- Radiant: 基于Ruby on Rails的内容管理系统
- “大数据”如何追回1.3亿元税款?
- Enterprise Library深入解析与灵活应用(5):创建一个简易版的批处理执行器,认识Enterprise Library典型的配置方式和对象创建方式
- BTC.com时讯-IBM等老牌大企业因区块链技术获得新活力
- Kit 3D 更新
- Enterprise Library深入解析与灵活应用(5):创建一个简易版的批处理执行器,认识Enterprise Library典型的配置方式和对象创建方式
- 晚上好啊!这是今天人工智能精选要闻
- 构建Flex应用的10大误区
- Flex的起步推动新语言学习
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- jQuery点击切换增加和删除class类
- Vue使用props和emit父子组件通信
- 听说Mysql你很豪横?-------------呕心沥血深入解析mysql备份与恢复!!!
- 排障集锦:九九八十一难之第十难!mysq备份恢复,Could not read entry at offset *: Error in log format or read error.
- Vue使用ref父子组件通信
- 听说Mysql你很豪横?-------------MySQL5.7主从同步
- 听说Mysql你很豪横?-------------MySQL5.7主从复制!读写分离!
- Vue兄弟组件传值
- Vue设置浏览器的标题title和图标icon
- VantUI封装自定义Tabbar路由跳转
- 听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(常用查询,正则表达式,运算符)
- jQuery实现点击添加样式同胞移除样式
- 微信小程序生命周期
- 听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(库函数,存储过程)
- 微信小程序下拉刷新上拉加载