当前位置:首页 > 引流 > 正文内容

kettle javascript脚本解析对象(简述javascript的特点)

admin3年前 (2022-10-11)引流868

每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。

放弃不难,但坚持很酷~

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

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

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

public class PaginationUtils {
/**
* 计算得到总页码
* @param totalRecords 总记录数
* @param pageSize 分页大小
* @return 总页码
*/
public static inttotalPage(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.divide(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". (<cmd>#22)

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

四、FAQ

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

   

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

   

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

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

在 pom.xml 文件中添加:

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>

pom 文件添加后的效果图如下所示:

   

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

   

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

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

标签: java

扫描二维码推送至手机访问。

版权声明:本文中部分文字、图片、音频、视频来源于互联网及公开渠道,仅供学习参考,版权归原创者所有! 如侵犯到您的权益,请及时通知我们!我们将在第一时间内删除。

本文链接:http://73ya.com/yinliu/2477.html

分享给朋友:

“kettle javascript脚本解析对象(简述javascript的特点)” 的相关文章

抖音怎能屏蔽别人 抖音屏蔽别人步骤解析

抖音这个软件已经成为目前很多小伙伴,茶余饭后娱乐的最常用的消遣软件之一了,不管是刷美食、刷资讯,还是刷综艺、电视剧,我们都可以在抖音上来实现。 抖音视频观看权限设置方法 想要设置观看权限一共有三种方法,这里小编就给大家具体介绍一下每种的步骤。 方法一:好友主页设置 打开好友主页,点击...

视频剪辑软件哪几款好用,视频剪辑要注意什么

近几年短视频越来越热门,越来越多人想要在短视频上面捞一笔,这已经不是什么稀奇事了。但是很多刚入门的新手不知道视频剪辑的软件哪几款好用?那么对于想要入门的小伙伴来说,这篇文章就有用处了。接下来就跟小编一起来看看吧。 视频剪辑软件哪几款好用 一、快剪辑(电脑版) 手机电脑版都有,无强制片...

抖音怎么免费看电影,不同类型的大片等你来看

近日,抖音宣布,继《囧妈》、《大赢家》之后,抖音再请大家免费看百部经典口碑大片。无论你是想看搞笑电影,还是想看小品。还是想看经典大片,这里通通都有。而且资源全都免费。听到这里你是不是心动了呢。接下来就跟着小编一起来抖音怎么免费看电影吧。 抖音怎么免费看电影  只需在抖音app中搜索“...

‬新手如何制作短视频,简单教程来了

越来越多人对短视频感兴趣,但是前期什么都不懂的人其实很难入手,那么我们可以先从简单的开始学起,一步一步的来,不要去着急。那么接下来小编就来给大家介绍一下新手怎么制作短视频吧。 ‬新手如何制作短视频 第1步:下载一个剪映app ‬第2步:打开剪映,选择图文成片功能。 ‬第3步:粘贴文...

短视频拍摄小技巧,新人如何快速学会拍摄

在一个智能时代里,短视频已经逐渐是发展的主流,不管是在坐车去公司的路上,还是吃完晚饭的闲暇时光,都会选择看下短视频,而且现在的短视频各行各业都有在做,抖音、B站、快手、微博,就连逛淘宝都能刷到各种有趣的视频。短视频也不再是网红们的专利。 现在的年轻人也很喜欢。因为比起照片,短视频这种动...

抖音有没有网页版本,抖音网页最新版本网页变了

最近感觉用户一直在增加,然后用户需求反应也比较多,所以大家就想知道抖音有没有网页版本?那么接下来就跟小编一起来看看抖音的一个最新版本变成什么样了吧。 今日消息,据相关媒体报道,抖音网页版已经上线,抖音的官网页面同时进行了改版,已经可以看视频,并且支持登录、点赞、查看评论、分享视频。而且...