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

news2024/9/25 7:16:03

目录

  • 📚第一章 前言
    • 📗背景
    • 📗目的
    • 📗总体方向
  • 📚第二章 代码结构初识
    • 基本结构
    • 📗代码模块详情
  • ⁉️问题记录
    • ❓问题一:代码分支哪些是发布版本
      • ❗答:后缀-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.coloradmin.cn/o/1315202.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI智能配音助手微信小程序前后端源码支持多种声音场景选择

大家好今天给大家带来一款配音小程序 &#xff0c;这款小程序支持多种不同声音和场景的选择更人性化&#xff0c; 比如说支持各地区的方言,英文,童声呀等等、 另外也支持男声女声的选择,反正就是模板那些非常的多 当然啦音量,语调,语速那些都是可以DIY跳转的哟,所以说这一款小程…

使用PyTorch II的新特性加快LLM推理速度

Pytorch团队提出了一种纯粹通过PyTorch新特性在的自下而上的优化LLM方法&#xff0c;包括: Torch.compile: PyTorch模型的编译器 GPU量化:通过降低精度操作来加速模型 推测解码:使用一个小的“草稿”模型来加速llm来预测一个大的“目标”模型的输出 张量并行:通过在多个设备…

【专题】最小生成树(prim算法、kruscal算法)

目录 一、最小生成树二、Prim算法1. 算法思想2. 例题3. 性能分析 三、Kruscal算法1. 算法思想2. 例题3. 性能分析 一、最小生成树 生成树中边的权值&#xff08;代价&#xff09;之和最小的树。 二、Prim算法 1. 算法思想 设N(V,{E})是连通网&#xff0c;TE是N上最小生成树…

【IEEE】2区SCI,接收领域广,稳定检索47年!

重点 本期推荐 区块链是一种新兴技术&#xff0c;很多行业和领域都以创新方式采用了此技术&#xff0c;如能源、金融、媒体和娱乐以及零售等。此外&#xff0c;区块链作为一门新兴的交叉学科, 涉及密码学应用&#xff08;加密&#xff0c;隐私等&#xff09;&#xff0c; 分布式…

stm32与Freertos入门(二)移植FreeRTOS到STM32中

简介 注意&#xff1a;FreeRTOS并不是实时操作系统&#xff0c;而是分时复用的&#xff0c;只不过切换频率很快&#xff0c;感觉上是同时在工作。本次使用的单片机型号为STM32F103C8T6,通过CubeMX快速移植。 一、CubeMX快速移植 1、选择芯片 打开CubeMX软件&#xff0c;进行…

Diva配置——Communication Tests

关联文章:CANoe.Diva生成测试用例 Diva目录 一、CANoe.Diva简介二、Communication Tests配置一、CANoe.Diva简介 CANoe.DiVa 是一种 CANoe 选项,用于对 ECU 中的诊断软件实施进行自动化测试。 可以通过CANdelaStudio制作的CDD或ODX文件,经过Diva配置自动生成测试用例和测试脚…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于时空注意力卷积模型的超短期风电功率预测》

这个标题描述了一种用于超短期风电功率预测的模型&#xff0c;该模型基于时空注意力卷积模型。下面我会逐步解读这个标题的关键词和背景&#xff1a; 超短期风电功率预测&#xff1a;风电功率预测是指根据历史风速和其他相关数据&#xff0c;通过建立数学模型来预测未来特定时间…

Vue学习计划-Vue2--VueCLi(四)组件传值和自定义事件

1. 组件传值 组件化编码流程&#xff1a; 拆分静态组件&#xff1a;组件要按照功能点拆分&#xff0c;命名不要与html元素冲突实现动态组件&#xff1a;考虑好数据的存放位置&#xff0c;数据是一个组件在用&#xff0c;还是一些组件在用&#xff1a; 一个组件在用&#xff0c…

云演ctf 你能看到我吗?

1、看题目稍微尝试不好用&#xff0c;看到提示的文件访问也不好用。读取文件又好像拦截了啥。 读取hint.php文件payload ctfphp://filter/convert.base64-encode/resourcehihintnt.php2、解密后又看到一个文件 有需要绕过 ctfphp://filter/convert.base64-encode/resource..…

轻量封装WebGPU渲染系统示例<45>- 材质组装流水线(MaterialPipeline)灯光、阴影、雾(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MaterialPipelineFog.ts 当前示例运行效果: 此示例基于此渲染系统实现&#xff0c;当前示例TypeScript源码如下&#xff1a; export class MaterialPipelineFog {pr…

C语言数组刷题-----数组填充

输入一个整数 V &#xff0c;输出一个长度为 10 的数组 N &#xff0c;数组中的第一个元素为 V &#xff0c;每个后续元素的值都为上一个元素的值的 2 倍。 例如&#xff0c;如果输入整数为 1 &#xff0c;则数组为&#xff1a;1,2,4,8… 输入格式 输入一个整数 V 。输出格…

cmake多模块架构, DLL依赖编译

整体结构&#xff1a; 最外层的cmakelist CMakeLists.txt project(cmakeMulPackage) cmake_minimum_required(VERSION 3.17) set(CMAKE_CXX_STANDARD 11)#设置环境相关 message("set env.cmake") message("CMAKE_BUILD_TYPE is ${CMAKE_BUILD_TYPE}") …

TG-5510cb: txo高稳定性+105℃高温

TG-5510CB是一款高稳定性TCXO&#xff0c;可提供CMOS或限幅正弦输出&#xff0c;5G基站和边缘计算的额定温度为85C&#xff0c;需要室外安装、小型化和无风扇运行。与其他TCXO相比&#xff0c;实验室提供了许多改进&#xff0c;如低温度斜率和相位噪声。符合GR-1244-CORE地层3和…

详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第一节

关于使用Vue开发鸿蒙应用的教程,我这篇之前的博客还不够完整和详细。那么这次我会尝试写一个更加完整和逐步的指南,从环境准备,到目录结构,再到关键代码讲解,以及调试和发布等,希望可以让大家详实地掌握这个过程。 一、准备工作 下载安装 DevEco Studio 下载地址&#xff1a;…

AD20-Excel创建IC类元件库

目录 准备模板AD操作 准备模板 AD操作 结果生成如下&#xff1a; over&#xff01;&#xff01;&#xff01;

【教学类-06-18】20231216 (按“列”正序题)X-Y之间“加法题+题”(1页最多0-13。不考虑空格补全)

作品展示&#xff1a;按列排序&#xff0c;从小到大正序&#xff08;有空格&#xff09; 背景需求&#xff1a; 55格模板&#xff0c;很多幼儿都是按照“列”的方式&#xff0c;从上到下&#xff0c;从左向右完成题目的。 视觉上&#xff0c;两列之间间距大&#xff08;给孩子…

labelme标注json文件检查标注标签(修改imageWidth,imagePath,imageHeight)

# !/usr/bin/env python # -*- encoding: utf-8 -*- #---wzhimport os import json# 这里写你自己的存放照片和json文件的路径 json_dir =rC:\Users\Lenovo\Desktop\json3 json_files = os.listdir(json_dir

广西开放大学形成性考核 平时作业 统一资料 参考

试卷代号&#xff1a;1293 心理学 参考试题 一、选择题&#xff08;每个3分&#xff0c;共30分&#xff0c;含单选和多选&#xff0c;请将正确答案的字母序号填入括号中&#xff09; 1.人们通常把下列图形知觉为一个连续、完整的形状&#xff0c;说明图形知觉遵循( )。…

(第61天)多租户架构(CDB/PDB)

背景介绍 Oracle 的 CDB 和 PDB 是 Oracle 12C 及以上版本中引入的新概念,用于管理多租户数据库环境。 Oracle 数据库是商业数据库领域中的翘楚,其强大的功能和高可靠性备受企业用户追捧。而随着云计算和大数据时代的到来,Oracle 也不断推出新的技术以适应这些变化。CDB 技…