千家信息网

怎么通过Kettle自定义jar包供javascript使用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍怎么通过Kettle自定义jar包供javascript使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们都知道 Kettle 是用 Java 语言开发,并
千家信息网最后更新 2026年11月03日怎么通过Kettle自定义jar包供javascript使用

这篇文章主要介绍怎么通过Kettle自定义jar包供javascript使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法。所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用。

一、在 java 项目中创建工具类

在项目中,创建 utils 工具类,比如 计算总页码 的一个方法。代码如下:

public class PaginationUtils { /** * 计算得到总页码 * @param totalRecords 总记录数 * @param pageSize 分页大小 * @return 总页码 */ public static int totalPage(String totalRecords,String pageSize){ int totalPage=0; try{ BigDecimal records=new BigDecimal(totalRecords); BigDecimal size=new BigDecimal(pageSize); BigDecimal _tmp=records.add(size).subtract(new BigDecimal(1)); BigDecimal _tp=_tmp.pide(size).setScale(0,BigDecimal.ROUND_HALF_UP); totalPage=_tp.intValue(); }catch (Exception e){ //error } return totalPage; }}

二、部署打包

工具类方法开发完毕后,可通过 mvn clean package -DskipTests 命令进行打包,在 target 目录下,会生成一个 jar 文件。需要将这个 jar 包放到 kettle 的 lib 目录下。如下图所示:

三、编写 JavaScript 脚本

重启 Kettle ,新建 JavaScript 脚本,计算总页码的 js 代码如下所示:

//计算总页码var totalPage=com.study.spring.Utils.PaginationUtils.totalPage(countBySql,pageSize);

其实就是在 js 代码中声明 java 类+方法。

但是问题来了,kettle 在运行这段 JavaScript 脚本的时候,提示下面这样的错误:

不能编译 _javascript: org.mozilla.javascript.EcmaError: TypeError: Cannot call property totalPage in object [JavaPackage com.study.spring.Utils.PaginationUtils]. It is not a function, it is "object". (#22)

根据错误信息来看,其实还是没有找到相关类方法,和没放这个 jar 包一样...

四、FAQ

上面这个错误究竟是怎么回事呢?我也很奇怪。于是我就用压缩工具也看了看 lib 目录下的其它 jar 包结构,发现人家都是这样式的:

而我刚才打的 jar 包目录是这样子的:

com 目录并没有在 jar 包的根路径下,自然是访问不到那个方法。

好,问题产生的原因找到了,然后再说一下解决办法:

在 pom.xml 文件中添加:

org.springframework.boot spring-boot-maven-plugin true

再次打成的 jar 包内部结构为:

成功!com 目录已经在 jar 包的根路径下了。

将 jar 包替换到 kettle 的 lib 目录下,重启 Kettle ,再次通过 javascripts 调用自定义 jar 包成功!

以上是"怎么通过Kettle自定义jar包供javascript使用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

方法 目录 页码 工具 代码 脚本 错误 成功 内容 再次 文件 时候 篇文章 结构 路径 问题 项目 开发 价值 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 美国互联网保险保险科技 互联网 科技公司 上海挚品互联网科技 齐家互联网科技 美国互联网黑科技 碳银互联网科技有限公司 老年人脱离互联网科技的作文 阿里巴巴算科技企业还是互联网 全球顶尖互联网科技公司 赶超互联网科技 微信多开 注册互联网科技公司经营范围大全 四川慕妮娅互联网科技有限公司 互联网科技实习生岗位 杭州披云加互联网科技有限公司 产业互联网科技服务公司 互联网领先科技宣传片 易租星互联网科技有限公司 中国互联网公司的科技投入 恒生科技互联网指数十大成分股 天津摩尔互联网科技 互联网科技公司需要的职位 天速互联网络科技有限公司 来此购互联网科技有限公司 港股科技和互联网 辽宁互联网新科技 深圳市优智互联网科技有限公司 上海乐五互联网科技有限公司 东风日产互联网科技公司叫什么 恒生科技互联网指数十大成分股
0