博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kettle dependency management
阅读量:6714 次
发布时间:2019-06-25

本文共 1690 字,大约阅读时间需要 5 分钟。

pentaho的项目使用了ant和ivy解决项目依赖,所以必须编译源码需要ivy工具.直接使用ivy编译pentaho的bi server项目,一直没有编译成功.

使用ivy编译kettle的源代码却是非常容易的事情.

该篇文章翻译并参考了Will Gorman在pentaho的wiki上添加的,文章标题没作修改.

编写此文,是为了记录编译kettle源码的方法和过程.

以下是对原文的一个简单翻译. 将kettle作为一个产品发行是一个很有趣的事情.有很多来自于pentaho其他项目(其中有一些有依赖于kettle)的jar包被导入到kettle.这些jar包必须在发行的时候构建并且加入到kettle中.如果一个核心的库被更新了,我们必须将其导入到kettle中(如果有必要).bi服务器,pentaho报表以及pentaho元数据编辑器都将kettle作为一个服务/引擎资源而被构建的.自从我们已经将这些jar导入到我们的源码仓库,这些项目必须使用ivy明确列出kettle以及他的依赖.当kettle的依赖变化的时候,我们必须审查libext文件是否需要更新.

pentaho创建了一系列的脚本来自动化的安装ivy,解决jar(或者是artifacts),构建并发行artifacts.kettle已经升级使用subfloor(简单的意味着build.xml继承自subfloor的构建脚本).subfloor使用ivy从pentaho仓库()或者ibiblio maven2仓库来获取跟新jar.ibiblio仓库用于大多数第三方的jar文件(如apache-commons).pentaho仓库用于在线的pentaho项目或者一些比在ibiblio的三方库.为了解决kettle的依赖,我们不得不在ivy.xml里创建一个清单.这个文件明确地列出每一个没有传递依赖的jar文件.这意味着libext文件的映射在ivy.xml中是一对一的. 关于Ivy 是一个流行的致力于灵活性和简单性的依赖管理工具.更多的参考:, , 以及 

在kettle中使用ivyIDE 首先,从svn上下载kettle的源代码:

svn://source.pentaho.org/svnkettleroot/Kettle/trunk
如果你想在Eclipse上使用
.

请参考相关文章安装该插件.

如果你不想使用ivyde,你可以简单快速并且容易的开始并编译代码.

1.执行ant resolve,这个命令将会创建一个叫做resolved-libs的文件夹.
2.使用下面命令更新classpath 
a.手动的添加这些jar文件到你的ide的classpath
b.执行ant create-dot-classpath,将会修改你的.classpath文件(注意刷新项目以使改变生效)
注意:kettle项目中的构建脚本会自动安装ivy插件.

构建Kettle 你可以下载kettle源代码然后立即执行ant distrib命令

或者你可以在ide中导入下载的kettle工程,然后按照你的操作系统(默认的是Windows 32-bit)版本修改依赖的swt.jar文件.

ivy中未完成的 pentaho-database-这是一个依赖kettle-db的常用项目,但又被kettle-ui使用.这样会导致循环依赖,将来可能会将其引入到kettle项目或是从该项目中去掉对kettle的依赖. swt-swt文件目前没有包括在ivy.xml文件中 library configurations-每一个kettle库(kettle-db,kettle-core等等)应该在ivy.xml中有他自己的依赖.这些库应该继承一些特定的依赖,而取代继承整个kettle依赖. checked-in plugins-当前引入的插件如;DummyJob, DummyPlugin, S3CsvInput, ShapeFileReader3,versioncheck应该都移到ivy的plugin配置中.

转载地址:http://yarlo.baihongyu.com/

你可能感兴趣的文章
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
.NET Framework 源码
查看>>
centos上一键安装jdk、tomcat脚本
查看>>
ArrayList源码分析
查看>>
JS Object的静态方法汇总( 上 )
查看>>
jvm疯狂吞占内存,罪魁祸首是谁?
查看>>
sql server随机函数
查看>>
优朋普乐:OTT正重构电视版图
查看>>
Ubuntu 14.04 LTC 有线网络——网线不识别,灯不亮问题
查看>>
21_css布局2_浮动布局.html
查看>>
DateUtils 单元下的公用函数目录
查看>>
jQuery 练习[二]: 获取对象(1) - 基本选择与层级
查看>>
Sublime Text 2 快捷键用法大全
查看>>
linux非交互式生成秘钥
查看>>
C练习小代码-20151108
查看>>
以太坊RPC接口使用
查看>>
高并发写入mysql的设计
查看>>