准备
- 下载idea
参考IntelliJ IDEA 2021.3.2 - idea创建vue项目和spring boot项目。
- 前端使用Element-Plus,前后端交互Axios,后端使用JPA,简化对数据库的操作。
- 在项目中加入kettle的jar包后,可以使用kettle API按照节点生成.ktr文件和.kjb文件,然后运行转换和作业即可。
生成转换和作业 参考链接:
- 大数据ETL开发之图解Kettle工具(入门到精通)
- kettle获取资源库连接+调用job
- java springboot生成kettle可执行ktr文件表输入/表输出/文本输入/javascript处理/kafka输出
- springboot整合kettle实现数据处理
- Kettle学习(2):服务器中java项目调用Kettle转换脚本ktr
- Kettle学习笔记(四)
- springboot 整合 kettle
- https://blog.csdn.net/li_chunlong/article/details/109012043
- Kettle与java项目集成
- JAVA调用Kettle脚本
- 使用java创建job(kettle)
- 通过ktr文件写交换代码
- 代码生成ktr文件
- java程序生成kettle转换ktr文件
- Java定时调用.ktr文件的示例代码(解决方案)
spring boot和vue 参考链接:
- spring Boot手把手教学(8): 封装统一返回实体类
- java web (安装配置idea,创建vue项目,引入bootstrap)
- SpringBoot+VUE 前后端分离部署(一)–使用idea创建SpringBoot后端项目
- Spring Boot -01- 快速入门篇(图文教程)
- SpringBoot+VUE实现前后端分离的实战记录
- springBoot+vue初始化前后端分离项目搭建(含数据库)
- vue.js+iview+springboot搭建一个前后端分离登陆demo
- Vue开源项目汇总(史上最全)
- Spring Boot+Vue从零开始搭建系统(三):项目前后端分离_实现简单登录demo
- Web前端(九)-创建SpringBoot项目、web服务器(WebServer、Servlet、Controller)、SpringBoot介绍(处理静态、动态资源请求、客户端发出请求的几种方式、获取客户端传递参数的方式)
- Spring Boot 系列(三)属性配置&自定义属性配置
- spring boot web项目 maven 调用kettle
- SpringBoot启动报:Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.
maven仓库
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<profile>
<repositories>
<repository>
<id>pentaho-releases</id>
<name>Kettle</name>
<url>https://nexus.pentaho.org/service/rest/repository/browse/omni/</url>
</repository>
</repositories>
</profile>
Java程序运行kettle的.ktr/.kjb文件–问题
- org.apache.commons.codec.binary.Base64
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.ArrayUtils
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
下载jar包 下载 来自apache Commons Lang
- java.lang.ClassNotFoundException: jxl.WorkbookSettings
<!--jxl-->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
- kettle依赖
<!--kettle-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>17.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-vfs2</artifactId>
<version>2.0</version>
</dependency>
<!--在kettle源代码里找到-->
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-core</artifactId>
<version>7.0.0.0-25</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-engine</artifactId>
<version>7.0.0.0-25</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-dbdialog</artifactId>
<version>7.0.0.0-25</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>metastore</artifactId>
<version>7.0.0.0-25</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-ui-swt</artifactId>
<version>7.0.0.0-25</version>
</dependency>
开发遇到的问题
- 借助jpa实现分页 springboot jpa 分页查询(增删改查)总结
- 前后端交互 springBoot+vue初始化前后端分离项目搭建(含数据库) vue.js+iview+springboot搭建一个前后端分离登陆demo
- spring boot+jpa 一直无法注入bean,读不到repository类
原因:spring boot启动类我之前多加了一行
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
解决方案:只要把括号和里面的内容删除即可。
- 使用数据库时报错:
Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found
解决方案:我使用的是MySQL8.0,我导入了MySQL8.0的jar包和MySQL5.1的jar包。
- jpa MySQL 插入语句时报语法错误,检查发现,我的表的一个列名是MySQL的关键字(desc),修改即可。
- jpa的时间戳
- 运行报错
javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V
解决方法:在报错的语句前加入
System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
参考链接:解决javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V异常
参考源码
Kettle源码
kettle-master
x-smart-kettle-server
kettle-monitor-platform
dataCollection
kettle-scheduler-boot
kettle-web
spring-boot-projects
参考链接
ETL之kettle进行二次开发简单demo
大数据ETL开发之图解Kettle工具(入门到精通)
Kettle源码分析
kettle 10分钟搞定kettle源码部署
kettle项目源码编译
Kettle开源工具二次开发
二次开发相关