大清早无聊,又想起了之前kettle 发送中文附件乱码的问题;心血来潮,又开始倒腾起来。折腾了好一会儿居然成功了,这个问题已经搞了大半个月了;其实解决方法很简单,只是过程比较复杂。简单讲下思路。
一开始出现邮件附件文件名乱码问题,我觉得是kettle bug 问题;后来发现 pentaho data-integration (kettle)都出到 7 的版本了;这个问题依旧存在。个人认为 kettle 后面版本暂时也不会解决邮件附件中文兼容性的问题。还好 kettle 源码是开源的,所以我们只能自己修改源代码,满足我们自己特定需求。
讲到这儿,问题就清晰了;问题的解决过程如下:
1. 下载对应版本项目源码;(https://github.com/pentaho/pentaho-kettle/tree/6.1.0.0-R )
2. 导入源码项目;( 将源码中 engine 子项目作为一个Java project 导入 eclipse 中)
3. 修改编译源码;(参考blog :http://blog.csdn.net/mendan/article/details/48784565)
4. 替换编译好的jar 包程序。(kettle-engine-6.0.1.0-386.jar)
其中第二步花了我大量时间,我一开始不懂怎么使用 ant 编译打包一个项目。本机安装好 执行 ant 命令,我发现它底层跟maven 原理也差不多,都是下载远程资源库的jar 包到本地资源库