当前位置: 首页 > 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 recommendedfor 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 andreleases. 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:latestvolumes:# 如需添加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.shenvironment:- LANG=zh_CN.UTF-8ports:- "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:latestenvironment:- 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.dtcms.com/a/601935.html

相关文章:

  • 万网的网站建设好吗北京模板网站建站
  • Leaflet入门,Leaflet如何修复瓦片之间有白线问题
  • Unity一分钟思路---UI任务条:宝箱位置如何准确卡在百分比位置上
  • 在线做爰a视频网站个人网站搭建详细步骤
  • 网站开发 工作量云台山旅游景区网站建设内容
  • Android 使用MediaMuxer+MediaCodec编码MP4视频异步方案
  • 第14章 智能指针
  • GSV6128E/ACP---嵌入式Display port 1.4到 LVDS转换器,带音频提取和嵌入式MCU
  • 网站建设ftp上传是空目录仿做网站的网站
  • c 网站开发代码辅助色网站
  • 无法下载依赖:pentaho-aggdesigner-algorithm/5.1.5-jhyde
  • sward实战教程系列(1) - 安装与配置
  • C语言编译环境 | 配置和优化你的开发环境,让编程更加高效
  • 《Vue项目开发实战》第五章:组件封装--Form
  • 数据管理战略|流程与IT变革、量化闭环
  • 外卖网站制作wordpress主题 制作教程
  • 企业网站总承包建设模式关键步骤wordpress安装主题后打不开
  • 在纷扰世界里找到自己的安心之道——《安心之道》的实践指南
  • 网站建设的公司太多了东莞南城房价
  • 【python】使用opencv的模板匹配进行自动化点击
  • leetcode 2654 使数组所有元素变成1的最少操作次数
  • 数据结构(长期更新)第8讲:队列
  • LKT4305安全芯片身份认证介绍
  • 看门狗超时时间的理解
  • C语言编译器手机教程 | 轻松在手机上编写和编译C语言程序
  • 基于SpringBoot的企业资产管理系统开发与设计
  • 黄骅做网站价格莱芜金点子招工小时工
  • 速卖通网站怎样做店面的二维码厦门网站建设
  • 好创意网站有哪些方面幸运28网站开发
  • AI小白入门:什么是RAG技术?