首页 > ETL, Kettle > Kettle 不能启动ClassNotFoundException

Kettle 不能启动ClassNotFoundException

2008年12月29日 发表评论 阅读评论

我个人重来都是没有碰到过这个错误的,不过最近有个朋友从itput 看到我写的关于kettle 的文章,问我这个问题, 后来找到几种可能性, 主要可能是发生在Windows 2000 上, 我用的是xp  ,还没碰到过, windows 2000 的command line 最大可以有2047 个字符,xp是8091 , kettle 3.0 之后加载的东西太多了,所以有些jar 加不进去,解决办法如下:

1. 把kettle 尽量放在顶层目录比如 E:/pdi 下,减少字符长度

2. 把libext/JDBC 目录下的不用的数据库驱动删掉,比如你只用mysql 和oracle 就只保留mysql-connect-xxx.jar 和ojdbc12.jar 其他的都删掉,

3. 在xp 系统下把cmd.exe 文件拷贝到2000 下, 这个字符串长度限制是写死的,xp 的长度限制为8091.

 

另外需要注意的是至少需要jdk 1.5 以上才能运行, 1.4 是不行的, 我用的是jdk 1.6 的, 点那个kettle.exe 文件它还报错说要jdk 1.5 , 不用exe 文件启动,直接点spoon.bat 启动就是好的.

 

 

参考资料

http://tech.it168.com/d/2008-03-21/200803211924754.shtml

开源ETL工具kettle系列之增量更新设计技巧

 

http://tech.it168.com/n/2008-03-21/200803211716994.shtml

开源ETL工具kettle系列之建立缓慢增长维

 

http://tech.it168.com/d/2008-03-18/200803171550713.shtml

开源ETL工具kettle系列之动态转换

 

http://wiki.pentaho.com/display/EAI/Windows+2000

pentaho wiki 上说的解决方法

 

http://support.microsoft.com/kb/830473

windows 长度限制

分类: ETL, Kettle 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.