当前位置: 首页 > news >正文

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

前言

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

编译

配置 maven 的环境变量

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

settings.xml 内容如下

<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- This is the recommended settings.xml for development of Hitachi Vantara projects. --> <!-- If your wish to mirror everything through pentaho-public's repo uncomment bellow. Not recommended for external developers. --> <!-- <mirrors> <mirror> <id>pentaho-public</id> <url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> --> <!-- Don't forget to add setting-security.xml so that the password get's decrypted --> <servers> <server> <id>pentaho-public</id> <username>devreaduser</username> <password>{zIMyJWfHKfoHiBJAVsAgW4E5BcJzR+nhTtgPy0J+/rs=}</password> </server> </servers> <!-- You might want to tweak the 'updatePolicy' configuration to fit your need on having updated snapshots and releases. Our recommendation is to set it to 'never' and run maven with the '-U' flag when needed. --> <profiles> <profile> <id>pentaho</id> <activation> <activeByDefault>true</activeByDefault> </activation> <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>always</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>pentaho-public</id> <name>Pentaho Public</name> <url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <!-- this lets you call plugins from these groups in their short form --> <pluginGroups> <pluginGroup>org.pentaho.maven.plugins</pluginGroup> <pluginGroup>com.pentaho.maven.plugins</pluginGroup> <pluginGroup>com.github.spotbugs</pluginGroup> </pluginGroups> </settings>

本地构建以下依赖库:

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

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

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

以上操作无误后,执行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并解压
systemplugins目录放入tomcat/bin
启动 tomcat, 访问

Docker部署
# 拉取镜像 docker pull hiromuhota/webspoon # 运行, 访问 http://localhost:8080 docker run -d -p 8080:8080 hiromuhota/webspoon
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"

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"

启动与停止

# 在 docker-compose.yml 文件所在路径下执行 # 启动 docker compose up -d # 停止 docker compose down

远程调试

开启远程调试服务

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

或配置为 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"]

idea 打开本地编译好的源码
增加远程调试配置Remote JVM debuge, 随后启动

控制台打印如下内容即可
Connected to the target VM, address: ‘192.168.5.22:9003’, transport: ‘socket’

http://www.jsqmd.com/news/454207/

相关文章:

  • 改了Windows用户文件夹名称之后,IntelliJ IDEA打不开
  • 上海普陀区有实体样板间可参观的公寓装修公司
  • 前端实习后的感受:实习要注意什么?实习怎么提升效率?
  • Virus-BeautyCode
  • 高清4k手机电脑壁纸
  • Jmeter分布式压测,一篇搞定。。。
  • 【ASP.NET CORE】 4. 集成配置系统、分层架构
  • 什么是Lambda表达式,为什么要用Lambda表达式,你在哪里使用过
  • 数据库设计 Step by Step ()
  • 探寻2026年热风干燥机设备系列,江苏靠谱供应商排名 - 工业设备
  • 上海杨浦区擅长大宅整装的公司
  • 口碑好的数字人视频编辑公司
  • 对ScriptableObject做一个评价
  • 教育机构内部账户失陷引发的钓鱼邮件传播机制与防御
  • 非战之罪,从永中Office谈起
  • 2026 年锂电池热点回眸:能量密度、温域、安全与回收五大方向突破
  • 极简部署 OpenClaw 并接入飞书,打造专属 AI 助手
  • ASP.NET MVC随想
  • 2026年标识标牌制作厂家推荐排行榜:不锈钢标识、亚克力标识、铝板标牌、党建医院学校景区系统标识定制,匠心工艺与创新设计典范 - 品牌企业推荐师(官方)
  • 源雀SCRM AI开源版 V2
  • Windows Phone 编程实践—推送通知(剖析推送通知实现架构)
  • 教你秒打造强类型ASP.NET数据绑定
  • 2026上海婚姻家事律师服务优质推荐指南:上海离婚财产分割律师、上海离婚隐匿财产律师、上海继承律师选择指南 - 优质品牌商家
  • 2026 知识付费 SaaS 趋势榜:创客匠人凭全周期适配力登顶,小鹅通等竞品难及
  • 2026复合材料测试新突破:馥勒仪器高低温环境试验机助力航天材料研发 - 品牌推荐大师1
  • 实时数仓的落地路径——从采集到可视化的端到端链路与常见坑
  • 或许你需要一些可操作性更强的实践
  • PowerShell 7使用
  • 研发的那些事--个PM的游戏
  • 2026年江西办公家具品牌制造商性价比对比,鑫恒家具多少钱 - 工业品网