您现在的位置是:首页 > 技术教程 正文

WebSpoon9.0(KETTLE的WEB版本)编译 + tomcat/docker部署 + 远程调试教程

admin 阅读: 2024-03-27
后台-插件-广告管理-内容页头部广告(手机)

前言

Kettle简介 Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定
WebSpoon是Kettle的Web版本,由Kettle社区维护,不受Pentaho支持,实现了Kettle的大部分功能

拉取代码

仓库地址:https://github.com/HiromuHota/pentaho-kettle

git clone https://github.com/HiromuHota/pentaho-kettle.git
  • 1

编译

配置 maven 的环境变量

将settings.xml 放在你用户目录下 /.m2 中并修改

本地构建以下依赖库:

pentaho-xul-swt

git clone -b webspoon-9.0 https://github.com/HiromuHota/pentaho-commons-xul.git cd pentaho-commons-xul mvn clean install -pl swt -DskipTests
  • 1
  • 2
  • 3

rap
拉取代码后,进入 rap/releng/org.eclipse.rap.build 目录修改 pom.xml 文件, 找到 properties 标签
将 jetty-repo.url 标签值改为 https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.44.v20210927/
将 rap-extra-repo.url 标签值改为 https://download.eclipse.org/rt/rap/base-platforms/3.14/extra-dependencies/

git clone -b webspoon-3.12.0 https://github.com/HiromuHota/rap.git cd rap mvn clean install -DskipTests
  • 1
  • 2
  • 3

pentaho-vfs-browser

git clone -b webspoon-9.0 https://github.com/HiromuHota/apache-vfs-browser.git cd apache-vfs-browser mvn clean install -DskipTests
  • 1
  • 2
  • 3

以上操作无误后,执行 mvn clean install -DskipTests 构建项目

构建成功后可在 assemblies/client/target 目录下找到 spoon.war 部署包
也可直接在 https://github.com/HiromuHota/pentaho-kettle/releases 下载已经构建好的 war 包


部署

tomcat 部署

将 spoon.war 放入 tomcat/webapps 目录下
点击下载 9.x 版本的 pdi-ce-xxxx.zip 并解压
将 system 和 plugins 目录放入 tomcat/bin 下
启动 tomcat, 访问

Docker部署

# 拉取镜像 docker pull hiromuhota/webspoon # 运行, 访问 http://localhost:8080 docker run -d -p 8080:8080 hiromuhota/webspoon
  • 1
  • 2
  • 3
  • 4

Docker-compose 部署

docker-compose.yml 文件:

version: "3.3" services: kettle: image: hiromuhota/webspoon:latest volumes: # 如需添加jar包则将jar包挂载进docker容器 - ./volumes/lib/mysql-connector-java-5.1.48.jar:/usr/local/tomcat/webapps/spoon/WEB-INF/lib/mysql-connector-java-5.1.48.jar # 保证重启后资源库数据不丢失,需挂载此目录 # 需要提前创建好该文件, 并授权: mkdir -m 777 ./volumes/.kettle - ./volumes/.kettle:/home/tomcat/.kettle # 如需汉化,挂载此目录并添加配置 - ./volumes/setenv.sh:/usr/local/tomcat/bin/setenv.sh environment: - LANG=zh_CN.UTF-8 ports: - "9002:8080"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

setenv.sh 文件

CLASSPATH=/usr/local/tomcat/lib/webspoon-security-9.0.0.0-423-22.jar CATALINA_OPTS="-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true" JAVA_OPTS="-Duser.language=zh -Duser.region=CN -Dfile.encoding=UTF-8"
  • 1
  • 2
  • 3

启动与停止

# 在 docker-compose.yml 文件所在路径下执行 # 启动 docker compose up -d # 停止 docker compose down
  • 1
  • 2
  • 3
  • 4
  • 5

远程调试

开启远程调试服务

docker run -d -p 8080:8080 -p 9003:8000 \ -e JPDA_ADDRESS=8000 \ -e CATALINA_OPTS="-Dorg.eclipse.rap.rwt.developmentMode=true" \ hiromuhota/webspoon catalina.sh jpda run
  • 1
  • 2
  • 3
  • 4

或配置为 docker-compose.yml 文件

version: "3.3" services: kettle: image: hiromuhota/webspoon:latest environment: - JPDA_ADDRESS=8000 - CATALINA_OPTS="-Dorg.eclipse.rap.rwt.developmentMode=true" ports: - "8080:8080" - "9003:8000" command: ["catalina.sh", "jpda", "run"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

idea 打开本地编译好的源码
增加远程调试配置 Remote JVM debuge, 随后启动
在这里插入图片描述
控制台打印如下内容即可
Connected to the target VM, address: ‘192.168.5.22:9003’, transport: ‘socket’
在这里插入图片描述

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索