PDI/Kettle-9.4.0.0-343源码下载及编译

目录

  • 🍑一、概要
    • 🍊最新版本10.x(2023-11-30)
  • 🍑二、下载
  • 🍑三、编译
    • 🍊3.1、导入开发工具
    • 🍊3.2、开始编译
    • 🍊3.3、编译报错
    • 🍊3.4、报错原因:jdk版本低了(版本从9.3开始使用jdk11)
    • 🍊3.5、下载安装JDK11
    • 🍊3.6、重新编译
  • 🍑四、验证编译后的安装包
    • 🍊 验证成功
    • 🍊问题来了:源码使用的jdk11,安装运行使用的jdk8,可以正常执行
  • 🍑五、总结

🍑一、概要


官网提供的最新安装包版本是9.4.0.0-343(详情见Linux部署Kettle(pentaho-server-ce-9.4.0.0-343)记录/配置MySQL存储),源码版本已经到10.x,这里以官网安装包最新版本为例,进行下载编译
在这里插入图片描述
官网看到关于9.4发布的文章介绍,主要涉及到云,详见原文地址
在这里插入图片描述

🍊最新版本10.x(2023-11-30)

版本10.0发布说明
在这里插入图片描述
不过官方看到的文章介绍都是针对企业版,是不是可以理解为社区版无所谓,大同小异呢?
在这里插入图片描述

🍑二、下载


下载地址:https://github.com/pentaho/pentaho-kettle/releases/tag/9.4.0.0-343
在这里插入图片描述
pentaho-kettle-9.4.0.0-343.zip(源码)对应的就是之前pdi-ce-9.4.0.0-343.zip和pentaho-server-ce-9.4.0.0-343.zip区别及简单使用中的pdi-ce-9.4.0.0-343.zip(安装包),即PDI,也叫Ketlle的源代码

🍑三、编译


🍊3.1、导入开发工具


在这里插入图片描述

🍊3.2、开始编译


https://github.com/pentaho/pentaho-kettle:
在这里插入图片描述

🍊3.3、编译报错

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project pdi-engine-api: Fatal error compiling: 无效的标记: --release -> [Help 1]

在这里插入图片描述

🍊3.4、报错原因:jdk版本低了(版本从9.3开始使用jdk11)

在这里插入图片描述

🍊3.5、下载安装JDK11

下载地址:https://jdk.java.net/java-se-ri/11-MR2,openJDK是免费的,可以随便用
在这里插入图片描述
直接解压
在这里插入图片描述
开发工具指定JDK(这里使用的eclipse)
在这里插入图片描述

🍊3.6、重新编译

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

🍑四、验证编译后的安装包


🍊 验证成功

具体可参照:pdi-ce-9.4.0.0-343.zip和pentaho-server-ce-9.4.0.0-343.zip区别及简单使用,如何创建作业
在这里插入图片描述

🍊问题来了:源码使用的jdk11,安装运行使用的jdk8,可以正常执行

大模型的意思就是,验证的功能使用的是JDK1.8,所以没问题,使用到涉及JDK11的功能时就会报错了
在这里插入图片描述

🍑五、总结


这些天各种研究安装软件,就是想找个开源ETL工具(大概就是实现了Web端的Kettle任务流程编排工具),很遗憾没找到,所以今天开始研究源码,看能不能自己干,结果9.4还需要jdk11,看来还不能使用太高版本,后面改用9.2版本吧

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

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

相关文章

centos7安全防护_CPU占用率超过百分之300_centos7.4中毒CPU百分之百_清理毒源---Linux工作笔记068

执行top命令的时候看到有个进程: sshd占用cpu百分之300多...而且就算是kill -9 杀掉进程以后,进程又会自动启动 ll /proc/7298 我们执行这个命令,可以看到有个/var/tmp/sshd的文件 我们进入cd /var/tmp 然后我们执行 rm -rf sshd删除这个文件,然后我们再去top可以看到 cpu就…

【数仓理论】

一、数仓建模方法论 1.1 ER模型(Entity Relationship、实体关系模型、范式模型) ER模型是Bill Inmon提出的一种建模方法,实体关系模型将复杂的数据抽象为两个概念 ---- 实体和关系 该模型在范式理论上符合3NF,这种模型目的是减少…

测距传感器

测距传感器 电子元器件百科 文章目录 测距传感器前言一、测距传感器是什么二、测距传感器的类别三、测距传感器的应用实例四、测距传感器的作用原理总结前言 测距传感器广泛应用于自动化控制、机器人导航、无人驾驶、测量仪器等领域。不同类型的测距传感器具有不同的测距范围、…

xtu oj 1178 Rectangle

题目描述 给你两个平行于坐标轴的矩形,请判断两者是不是相交(面积有重合的部分)? 输入 第一行是一个整数K,表示样例数。 每个样例占两行,每行是4个整数,表示一个矩形的对角线点的坐标&#x…

重磅!2023中国高校计算机大赛-人工智能创意赛结果出炉

目录 中国计算机大赛-人工智能创意赛现场C4-AI大赛颁奖及留影800个AI应用?这届大学生真能“搞事情”AI原生时代,百度要再培养500万大模型人才 中国计算机大赛-人工智能创意赛现场 12月8日,杭州,一位“白发老人”突然摔倒在地&…

[基础IO]文件描述符{C库函数\系统接口\初识fd}

文章目录 1.基础知识1.1对文件的认识1.2对系统调用接口的认识1.3如何理解LInux下一切皆文件? 2.C语言的库函数2.1FILE *fopen(const char *path, const char *mode);2.2对fopen()的mode的w/a的深层认识2.3fclose()2.4size_t fwrite(const void *ptr, size_t size, size_t nmem…

测试经理主管面试题

测试专业技能 请谈谈您对软件测试生命周期(STLC)的理解 需求分析:在这个阶段,测试团队仔细分析项目需求,理解产品功能和非功能需求。这有助于确定测试的范围和目标,为后续阶段奠定基础。测试计划&#xf…

【桌面应用开发】Tauri是什么?基于Rust的桌面应用

自我介绍 做一个简单介绍,酒架年近48 ,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【…

深入.NET平台和C#编程总结大全

第一章 简单认识.NET框架 (1)首先我们得知道 .NET框架具有两个主要组件:公共语言进行时CLR(Common Language Runtime)和框架类库FCL(Framework Class Library) 配图: (…

JSON

JSON指的是 JavaScript 对象表示法(JavaScript Object Notation) javascript对象:javascript中,除开JavaScript原始值(字符串,数字,布尔值,null,正则表达式)的都是javascript对象 JS…

Java - JVM内存区域的划分

Java 程序运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。 分配:通过关键字new创建对象分配内存空间,对象存在堆中。 释放 &…

柔性数组详解

前言:柔性数组是C99中新添加的概念,它是结构体里面的最后一个成员,因为它的大小未知,所以很灵活,称之为柔 1 柔性数组占不占结构体的空间呢? 不占 typedef struct Stu {char y;int x;int arr[];//有些编译器…

数据在内存中的存储(整型篇)

1.辨析原码反码补码: 1.原码:有32位(int类四个字节,一个字节八个比特位),第一位是符号位,0正1负,其余为二进制位。 2.计算一般是对原码进行计算,但在负数计算使用原码会导…

强化学习(二)——Dueling Network(DQN改进)

与DNQ相比,使用优势函数(A函数)和状态价值函数(V)代替之前的Q(动作价值)函数, 最核心公式为 Q ∗ ( s , a ) A ∗ ( s , a ) V ∗ ( s ) − max ⁡ a A ∗ ( s , a ) Q^*(s,a)A^*(s,a)V^*(s)-\max_a A^*(s,a) Q∗(s,a)A∗(s,a)V…

高效利用内存资源之动态内存管理详解

目录 一、为什么存在动态内存分配 二、动态内存函数的介绍 2.1malloc 2.2free 2.3calloc 2.4realloc 三、常见的动态内存错误 3.1对NULL指针的解引用操作 3.2对动态开辟空间的越界访问 3.3对非动态开辟内存使用free释放 3.4使用free释放一块动态开辟内存的一部分 3.…

Spring Boot 3 集成 Druid 连接池详解

在现代的Java应用中,使用一个高效可靠的数据源是至关重要的。Druid连接池作为一款强大的数据库连接池,提供了丰富的监控和管理功能,成为很多Java项目的首选。本文将详细介绍如何在Spring Boot 3项目中配置数据源,集成Druid连接池&…

【ACM独立出版、确定的ISBN号】第三届密码学、网络安全和通信技术国际会议(CNSCT 2024)

第三届密码学、网络安全和通信技术国际会议(CNSCT 2024) 2024 3rd International Conference on Cryptography, Network Security and Communication Technology 随着互联网和网络应用的不断发展,网络安全在计算机科学中的地位越来越重要&…

Android Kotlin 泛型:强大的类型抽象和重用利器

一、什么是泛型? 泛型是一种参数化类型的机制,它允许我们在定义类、接口和方法时使用类型参数,从而实现代码的重用和类型安全。通过使用泛型,我们可以将类型作为参数传递给类或方法,在不同的场景中实现灵活的类型适配…

精选:免费且高效的邮件营销软件推荐

好用的邮件营销软件可以帮助企业获取客户、维系客户关系。对于有想做邮件营销想法,但是想先试试的企业来讲,免费版邮件营销软件就是个不错的选择。当然,免费的邮件邮件营销软件虽然在价格上有极大的优势,但是功能上会有各种限制。…

Java生态系统最受欢迎的工具类使用指南 ‍

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 �…