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连接外网进行下载,然后下载失败的问题,参考编译步骤第八步。

转载于:https://www.cnblogs.com/it-abang/p/9017783.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提高 Maven 编译速度可以采取以下几种方法: 1. 使用并行构建:Maven 3.2.1 版本及以上支持并行构建,可以通过在命令行中添加 `-T` 参数来指定并行线程数。例如,`mvn clean install -T 4` 表示使用 4 个线程进行构建。这样可以利用多核处理器的优势加快编译速度。 2. 配置增量编译Maven 默认会对所有源代码进行重新编译,即使只有部分代码发生了变化。可以通过配置增量编译插件来只编译发生变化的代码。常用的插件有 `maven-compiler-plugin` 和 `maven-jar-plugin`。 3. 使用本地仓库:Maven 默认会从远程仓库下载依赖的 JAR 包,这会消耗一定的时间。可以将常用的依赖手动安装到本地仓库,这样在编译时就不需要从远程仓库下载了。可以使用 `mvn install:install-file` 命令将 JAR 包安装到本地仓库。 4. 配置镜像仓库:可以配置使用国内的镜像仓库,这样可以加快下载依赖的速度。可以在 Maven 的配置文件 `settings.xml` 中配置 `<mirrors>` 标签来指定镜像仓库。 5. 使用缓存:可以使用插件来缓存已编译的类文件,避免重复编译。常用的插件有 `maven-compiler-plugin` 的 `useIncrementalCompilation` 参数和 `maven-clean-plugin` 的 `excludeDefaultDirectories` 参数。 6. 调整内存设置:可以通过调整 Maven 的内存设置来提高编译速度。可以在 Maven 的配置文件 `settings.xml` 中配置 `<build>` 标签下的 `<memory>` 标签来指定内存设置。 7. 使用构建缓存工具:可以使用构建缓存工具,如 Gradle 或 Bazel,来代替 Maven。这些工具具有更高效的构建机制,可以显著提高编译速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值