毕设(多源数据融合软件设计实现)

准备

  1. 下载idea
    参考IntelliJ IDEA 2021.3.2
  2. idea创建vue项目和spring boot项目。
  3. 前端使用Element-Plus,前后端交互Axios,后端使用JPA,简化对数据库的操作。
  4. 在项目中加入kettle的jar包后,可以使用kettle API按照节点生成.ktr文件和.kjb文件,然后运行转换和作业即可。

生成转换和作业 参考链接:

  1. 大数据ETL开发之图解Kettle工具(入门到精通)
  2. kettle获取资源库连接+调用job
  3. java springboot生成kettle可执行ktr文件表输入/表输出/文本输入/javascript处理/kafka输出
  4. springboot整合kettle实现数据处理
  5. Kettle学习(2):服务器中java项目调用Kettle转换脚本ktr
  6. Kettle学习笔记(四)
  7. springboot 整合 kettle
  8. https://blog.csdn.net/li_chunlong/article/details/109012043
  9. Kettle与java项目集成
  10. JAVA调用Kettle脚本
  11. 使用java创建job(kettle)
  12. 通过ktr文件写交换代码
  13. 代码生成ktr文件
  14. java程序生成kettle转换ktr文件
  15. Java定时调用.ktr文件的示例代码(解决方案)

spring boot和vue 参考链接:

  1. spring Boot手把手教学(8): 封装统一返回实体类
  2. java web (安装配置idea,创建vue项目,引入bootstrap)
  3. SpringBoot+VUE 前后端分离部署(一)–使用idea创建SpringBoot后端项目
  4. Spring Boot -01- 快速入门篇(图文教程)
  5. SpringBoot+VUE实现前后端分离的实战记录
  6. springBoot+vue初始化前后端分离项目搭建(含数据库)
  7. vue.js+iview+springboot搭建一个前后端分离登陆demo
  8. Vue开源项目汇总(史上最全)
  9. Spring Boot+Vue从零开始搭建系统(三):项目前后端分离_实现简单登录demo
  10. Web前端(九)-创建SpringBoot项目、web服务器(WebServer、Servlet、Controller)、SpringBoot介绍(处理静态、动态资源请求、客户端发出请求的几种方式、获取客户端传递参数的方式)
  11. Spring Boot 系列(三)属性配置&自定义属性配置
  12. spring boot web项目 maven 调用kettle
  13. SpringBoot启动报:Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.

maven仓库

mvnrepository
jar包下载地址
阿里云

<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

kettle代理仓库

	<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文件–问题

  1. 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>
  1. 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

  1. java.lang.ClassNotFoundException: jxl.WorkbookSettings
        <!--jxl-->
        <dependency>
            <groupId>net.sourceforge.jexcelapi</groupId>
            <artifactId>jxl</artifactId>
            <version>2.6.12</version>
        </dependency>
  1. 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>

开发遇到的问题

  1. 借助jpa实现分页 springboot jpa 分页查询(增删改查)总结
  2. 前后端交互 springBoot+vue初始化前后端分离项目搭建(含数据库) vue.js+iview+springboot搭建一个前后端分离登陆demo
  3. spring boot+jpa 一直无法注入bean,读不到repository类

原因:spring boot启动类我之前多加了一行

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

解决方案:只要把括号和里面的内容删除即可。

  1. 使用数据库时报错:

Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found

解决方案:我使用的是MySQL8.0,我导入了MySQL8.0的jar包和MySQL5.1的jar包。

  1. jpa MySQL 插入语句时报语法错误,检查发现,我的表的一个列名是MySQL的关键字(desc),修改即可。
  2. jpa的时间戳
  3. 运行报错
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开源工具二次开发
二次开发相关

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值