PDI/Kettle-9.2.0.0-R(对应jdk1.8)源码编译问题记录及源码结构简介

目录

  • 📚第一章 前言
    • 📗背景
    • 📗目的
    • 📗总体方向
  • 📚第二章 代码结构初识
    • 基本结构
    • 📗代码模块详情
  • ⁉️问题记录
    • ❓问题一:代码分支哪些是发布版本
      • ❗答:后缀-R的版本
    • ❓问题二:`503 Service Temporarily Unavailable and 'parent.relativePath' points at wrong local POM`
      • ❗解决方式:更换根目录下pom.xml中的仓库地址
    • ❓问题三:`karaf-maven-plugin:4.2.6-R2 or one of its dependencies could not be resolved`
      • ❗解决方式:阿里云仓库地址已变更,重新配置settings.xml中仓库地址
    • ❓问题四:`org.pentaho:pentaho-ce-jar-parent-pom:pom:9.2.0.0-290 was not found`
      • ❗版本最高就只到8.1
    • ❗setting.xml(直接按照这种方式配置,上面问题二三四应该都解决了)
    • ❓问题五:1.7G,为什么那么大?版本之间差距这么大嘛.......
    • ❗ 对比pdi-ce-9.2.0.0-290和pdi-ce-9.4.0.0-343

📚第一章 前言

📗背景

昨天下载的Kettle源码,需要JDK11,今天按照官方发布的9.2版本,重新下载源码,地址为9.2.0.0-R/290,对应JDK1.8,至于源码下载及编译可参照PDI/Kettle-9.4.0.0-343源码下载及编译,步骤都是一样的。如果确实使用到JDK11,可以选择9.2之后的版本
在这里插入图片描述
在这里插入图片描述

📗目的

研究代码,尝试二开(PS:下载完代码,编译了一下,结果全是错,详见问题记录

📗总体方向

kettle任务编排提取出来做成web界面(PS:编译项目干了一天

📚第二章 代码结构初识

基本结构

在这里插入图片描述
在这里插入图片描述

📗代码模块详情

  • integration测试代码模块,据说很多已过时,用处不大。
    在这里插入图片描述
  • kettle-core:PDI的核心库,包含了所有基本的数据处理功能。
    • 该模块提供了数据源连接、数据流设计、转换步骤定义、元数据管理等功能。
    • 该模块不依赖于任何特定的UI框架或数据库驱动程序,因此可以被其他应用程序以编程方式使用。
  • kettle-dbdialog:对话框
    • 该模块包含了一个用于与用户交互的对话框,用于配置数据库连接参数。
    • 该模块允许用户输入数据库URL、用户名、密码和其他必要的信息。
  • kettle-engine:核心引擎,执行作业
    • 该模块负责执行作业和转换。
    • 该模块包含了所有的核心逻辑,包括错误处理、日志记录、插件管理和线程调度等。
  • kettle-ui-swt:图形用户界面
    • 该模块为Kettle提供了一套基于SWTStandard Widget Toolkit)的图形用户界面。
    • 用户可以通过这个GUI来创建、编辑和运行作业和转换。
  • pdi-assemblies:
    • 该模块包含了PDI的所有组件的组装和打包脚本。
    • 该模块通过这些脚本,可以将各个模块组合成一个完整的可部署的应用程序。
  • pdi-engine-ext:扩展
    • 该模块包含了对引擎的扩展。
    • 这些扩展可能包括新的数据源连接器、新的步骤类型或者自定义的行为。
  • pdi-plugins:插件
    • 该模块包含了各种插件,它们扩展了PDI的功能。
    • 插件可以是预定义的步骤、输入/输出插件、自定义函数库等。

⁉️问题记录

❓问题一:代码分支哪些是发布版本

❗答:后缀-R的版本

在软件开发中,-R-RC通常代表不同的版本状态:

  • -R:这个后缀可能表示“Release”,即正式发布的版本。这通常是软件经过多次测试和优化后的稳定版本,可供广大用户下载和使用。
  • -RC:这个后缀通常表示“Release Candidate”,即候选发布版本。这是软件发布周期中的一个阶段,在这个阶段,软件已经基本完成开发,并且通过了内部的测试,但还没有正式发布。RC版本通常用来收集最后阶段的反馈和错误报告,以便在最终发布之前进行修复。

本文的版本9.2.0.0-290对应的就是9.2.0.0-R
在这里插入图片描述

❓问题二:503 Service Temporarily Unavailable and 'parent.relativePath' points at wrong local POM

[INFO] Scanning for projects...
[INFO] Downloading from pentaho-public: http://nexus.pentaho.org/content/groups/omni/org/pentaho/pentaho-ce-jar-parent-pom/9.2.0.0-290/pentaho-ce-jar-parent-pom-9.2.0.0-290.pom
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.pentaho.di:pdi:9.2.0.0-290: Could not transfer artifact org.pentaho:pentaho-ce-jar-parent-pom:pom:9.2.0.0-290 from/to pentaho-public (http://nexus.pentaho.org/content/groups/omni/): transfer failed for http://nexus.pentaho.org/content/groups/omni/org/pentaho/pentaho-ce-jar-parent-pom/9.2.0.0-290/pentaho-ce-jar-parent-pom-9.2.0.0-290.pom, status: 503 Service Temporarily Unavailable and 'parent.relativePath' points at wrong local POM @ line 16, column 11@ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project org.pentaho.di:pdi:9.2.0.0-290 (D:\code\opensource\ETL\pentaho-kettle-9.2.0.0-R\pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for org.pentaho.di:pdi:9.2.0.0-290: Could not transfer artifact org.pentaho:pentaho-ce-jar-parent-pom:pom:9.2.0.0-290 from/to pentaho-public (http://nexus.pentaho.org/content/groups/omni/): transfer failed for http://nexus.pentaho.org/content/groups/omni/org/pentaho/pentaho-ce-jar-parent-pom/9.2.0.0-290/pentaho-ce-jar-parent-pom-9.2.0.0-290.pom, status: 503 Service Temporarily Unavailable and 'parent.relativePath' points at wrong local POM @ line 16, column 11 -> [Help 2]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

在这里插入图片描述
在这里插入图片描述

❗解决方式:更换根目录下pom.xml中的仓库地址

  <!-- <repositories><repository><id>pentaho-public</id><name>Pentaho Public</name><url>http://nexus.pentaho.org/content/groups/omni/</url><releases><enabled>true</enabled><updatePolicy>daily</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>interval:15</updatePolicy></snapshots></repository></repositories> --><repositories><repository><id>pentaho-public</id><name>Pentaho Public</name><url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url><releases><enabled>true</enabled><updatePolicy>daily</updatePolicy></releases><snapshots><enabled>true</enabled><updatePolicy>interval:15</updatePolicy></snapshots></repository></repositories>

在这里插入图片描述
更换完地址,进行update maven
在这里插入图片描述

❓问题三:karaf-maven-plugin:4.2.6-R2 or one of its dependencies could not be resolved

[INFO] Scanning for projects...
[WARNING] The POM for org.hitachivantara.karaf.tooling:karaf-maven-plugin:jar:4.2.6-R2 is missing, no dependency information available
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Unresolveable build extension: Plugin org.hitachivantara.karaf.tooling:karaf-maven-plugin:4.2.6-R2 or one of its dependencies could not be resolved: org.hitachivantara.karaf.tooling:karaf-maven-plugin:jar:4.2.6-R2 was not found in http://maven.aliyun.com/nexus/content/groups/public/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of alimaven has elapsed or updates are forced @ 
[ERROR] Unknown packaging: feature @ line 9, column 14@ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project org.pentaho.di.plugins:pentaho-streaming-feature:9.2.0.0-290 (D:\code\opensource\ETL\pentaho-kettle-9.2.0.0-R\plugins\streaming\assemblies\feature\pom.xml) has 2 errors
[ERROR]     Unresolveable build extension: Plugin org.hitachivantara.karaf.tooling:karaf-maven-plugin:4.2.6-R2 or one of its dependencies could not be resolved: org.hitachivantara.karaf.tooling:karaf-maven-plugin:jar:4.2.6-R2 was not found in http://maven.aliyun.com/nexus/content/groups/public/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of alimaven has elapsed or updates are forced -> [Help 2]
[ERROR]     Unknown packaging: feature @ line 9, column 14
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginManagerException

在这里插入图片描述

❗解决方式:阿里云仓库地址已变更,重新配置settings.xml中仓库地址

详情:https://developer.aliyun.com/mvn/guide
在这里插入图片描述
在这里插入图片描述

    <!-- <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>        </mirror> --><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>

❓问题四:org.pentaho:pentaho-ce-jar-parent-pom:pom:9.2.0.0-290 was not found

[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for org.pentaho.di:pdi:9.2.0.0-290: org.pentaho:pentaho-ce-jar-parent-pom:pom:9.2.0.0-290 was not found in https://maven.aliyun.com/repository/public during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 16, column 11@ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project org.pentaho.di:pdi:9.2.0.0-290 (D:\code\opensource\ETL\pentaho-kettle-9.2.0.0-R\pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for org.pentaho.di:pdi:9.2.0.0-290: org.pentaho:pentaho-ce-jar-parent-pom:pom:9.2.0.0-290 was not found in https://maven.aliyun.com/repository/public during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 16, column 11 -> [Help 2]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

❗版本最高就只到8.1

在这里插入图片描述
在这里插入图片描述

❗setting.xml(直接按照这种方式配置,上面问题二三四应该都解决了)

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"><localRepository>D:\soft\apache-maven-3.8.5\apache-maven-3.8.5\repository</localRepository><pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors><mirror><id>pentaho-public</id><name>Pentaho Public Mirror</name><url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url><mirrorOf>*</mirrorOf></mirror><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror></mirrors><profiles></profiles></settings>

在这里插入图片描述

❓问题五:1.7G,为什么那么大?版本之间差距这么大嘛…

在这里插入图片描述
下面是官网下载下来的,和9.4相差也太大了
在这里插入图片描述

❗ 对比pdi-ce-9.2.0.0-290和pdi-ce-9.4.0.0-343

在这里插入图片描述
9.2多出来的两个目录文件,占了1G
在这里插入图片描述
9.2的插件目录又多出160M,但是个数并不多
在这里插入图片描述
在这里插入图片描述
9.2的中的额外文件作用:文件是为KARaf容器准备的,用于扩展和配置PDI服务器的功能(嗯,不懂!)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/217905.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么选择合适的3ds Max云渲染农场?

3ds Max 用户日常面临的一个共同挑战便是漫长的渲染周期。作为一个强大的三维建模和渲染软件&#xff0c;3ds Max 势必需处理大量的光照、材质和阴影计算任务&#xff0c;因此&#xff0c;良好的渲染方案对从业者而言尤为重口。 一、为何考虑3ds Max云渲染? 云渲染成为了解决…

自动机器学习是什么?概念及应用

自动机器学习 (Auto Machine Learning) 的应用和方法 随着众多企业在大量场景中开始采用机器学习&#xff0c;前后期处理和优化的数据量及规模指数级增长。企业很难雇用充足的人手来完成与高级机器学习模型相关的所有工作&#xff0c;因此机器学习自动化工具是未来人工智能 (A…

【状态机FSM 序列检测 饮料机_2023.12.1】

同步状态机 概念 同步状态机&#xff08;同一脉冲边沿触发&#xff09;&#xff1a;有限个离散状态及某状之间的转移 异步状态机无法综合 分类 Moore状态机 只和状态有关&#xff0c;与输入无关 Mealy状态机 和状态和输入都有关 Mealy型比Moore型少一个状态 结构 由状态寄…

中文字符串逆序输出

今天碰到这个题&#xff0c;让我逆序输出中文字符串&#xff0c;可给我烦死了&#xff0c;之前没有遇到过&#xff0c;也是查了资料才知道&#xff0c;让我太汗颜了。 英文字符串逆序输出很容易&#xff0c;开辟一块空间用来存放逆序后的字符串&#xff0c;从后往前遍历原字符串…

十四 动手学深度学习v2计算机视觉 ——转置矩阵

文章目录 基本操作填充、步幅和多通道再谈转置卷积不填充&#xff0c;步幅为1填充为p&#xff0c;步幅为1填充为p&#xff0c;步幅为s 基本操作 填充、步幅和多通道 填充&#xff1a; 与常规卷积不同&#xff0c;在转置卷积中&#xff0c;填充被应用于的输出&#xff08;常规卷…

小小手表探索更多 好玩伴也是好帮手

华为儿童手表 5X 不仅是孩子的好玩伴&#xff0c;也是家长的好帮手。全能形态让小小手表探索更多&#xff0c;高清双摄记录美好&#xff0c;离线定位随时掌握&#xff0c;绿色纯净守护成长&#xff0c;让孩子享受科技带来的安全与乐趣。

为什么随着网络的增加,传统的多层网络结构的非线性表达很难去表示恒等映射,模型会出现网络退化问题,什么是恒等映射!!

文章目录 一、什么是恒等映射二、对于深度神经网络&#xff0c;保持恒等映射并不是必需的&#xff0c;三、恒等映射可以作为一个简单的基准任务来评估和分析网络的一些重要性质 一、什么是恒等映射 恒等映射指的是输入和输出完全相同的映射关系,也就是yx。它是一个线性函数,没…

cordic 算法学习记录

参考&#xff1a;b站教学视频FPGA&#xff1a;Cordic算法介绍与实现_哔哩哔哩_bilibili FPGA硬件实现加减法、移位等操作比较简单&#xff0c;但是实现乘除以及函数计算复杂度高且占用资源多&#xff0c;常见的计算三角函数/平方根的求解方式有①查找表&#xff1a;先把函数对应…

车载导航系统UI界面,可视化大屏设计(PS源文件)

大屏组件可以让UI设计师的工作更加便捷&#xff0c;使其更高效快速的完成设计任务。现分享车载导航系统科技风蓝黑简约UI界面、车载系统UI主界面、车载系统科技风UI界面、首页车载系统科技感界面界面的大屏Photoshop源文件&#xff0c;开箱即用&#xff01; 若需 更多行业 相关…

攻防世界——BABYRE

下载好文件&#xff0c;IDA64打开 无脑F12 锁定到right 跟进到了这个函数 很明显关键点就是 我们跟进judge 182个字符 懵逼了&#xff0c;说实话 下面是问了人后 —————————— 其实这是一个函数&#xff0c;一个操作指令 但是我们可以发现 在这里&#xff0c;ju…

EasyExcel处理表头的缓存设置

在学习EasyExcel 时会发现针对使用类模型配置表头相关属性时&#xff0c;EasyExcel 会使用到缓存技术以提升表头的解析速度如下代码&#xff1a; 这些参数再何时设置的哪&#xff1f; 在easyExcel 基础参数设置中会有这个参数filedCacheLocation 。默认采用的使用线程级别的…

《opencv实用探索·十九》光流法检测运动目标

前言 光流法&#xff08;Optical Flow&#xff09;是计算机视觉中的一种技术&#xff0c;用于估计图像中相邻帧之间的像素位移或运动。它是一种用于追踪图像中物体运动的技术&#xff0c;可以在视频中检测并测量物体的运动轨迹。 光流的直观理解&#xff1a; 光流是一个视频中两…

web微服务规划

一、背景 通过微服务来搭建web系统&#xff0c;就要对微服务进行规划&#xff0c;包括服务的划分&#xff0c;每个服务和数据库的命名规则&#xff0c;服务用到的端口等。 二、微服务划分 1、根据业务进行拆分 如&#xff1a; 一个购物系统可以将微服务拆分为基础中心、会员…

C++_类的定义和使用

目录 1、类的引用 1.1 类的成员函数 1.2 类成员函数的声明和定义 2、类的定义 2.1 类的访问限定&#xff08;封装&#xff09; 3、类重名问题 4、类的实例化 4.1 类的大小 5、隐含的this指针 5.1 空指针问题 结语&#xff1a; 前言&#xff1a; C的类跟c语言中的结…

VRRP协议详解

目录 一、基础概念 1、概念 2、VRRP的基本结构 状态机 二、VRRP主备备份工作过程 1、备份工作过程 2、VRRP的负载分担工作 三、实验 一、基础概念 1、概念 VRRP能够在不改变组网的情况下&#xff0c;将多台路由器虚拟成一个虚拟路由器&#xff0c;通过配置虚拟路由器的I…

自媒体新闻中心-后台管理端

0.本节内容说明 本节主要是一个功能概述&#xff0c;了解清楚这个这个后台管理端做的什么&#xff0c;以及实现的思路&#xff0c;具体的实现代码部分&#xff0c;后面讲解 1.后台功能概述 登陆: 账号密码登陆&#xff0c;或者是账号人脸进行登陆内容审核&#xff1a;对于用户…

【Stable Diffusion】在windows环境下部署并使用Stable Diffusion Web UI---通过 Conda

本专栏主要记录人工智能的应用方面的内容&#xff0c;包括chatGPT、AI绘图等等&#xff1b; 在当今AI的热潮下&#xff0c;不学习AI&#xff0c;就要被AI淘汰&#xff1b;所以欢迎小伙伴加入本专栏和我一起探索AI的应用&#xff0c;通过AI来帮助自己提升生产力&#xff1b; 订阅…

DevOps 和人工智能 – 天作之合

如今&#xff0c;人工智能和机器学习无处不在&#xff0c;所以它们开始在 DevOps 领域崭露头角也毫不令人意外。人工智能和机器学习正在通过自动化任务改变 DevOps&#xff0c;并使各企业的软件开发生命周期更高效、更深刻和更安全。我们在 DevOps 趋势中简要讨论过这一问题&am…

LeetCode力扣每日一题(Java)66、加一

每日一题在昨天断开了一天&#xff0c;是因为作者沉迷吉他&#xff0c;无法自拔……竟然把每日一题给忘了&#xff0c;所以今天&#xff0c;发两篇每日一题&#xff0c;把昨天的给补上 一、题目 二、解题思路 1、我的思路 其实乍一看这道题还是比较简单的&#xff0c;就是让…

记录 | linux安装Manim

linux 安装 Manim sudo apt update sudo apt install build-essential python3-dev libcairo2-dev libpango1.0-dev ffmpeg sudo apt install xdg-utilsconda create manim_py39 python3.9 conda activate manim_py39pip install manim安装好环境后来测试一个例程&#xff0c;…