Pentaho DI /水壶/勺子配置与外部罐子

时间:2014-10-01 21:03:11

标签: xslt pentaho classnotfoundexception kettle spoon

我为Pentaho DI / Kettle 4.4开发了一个自定义插件,并使用自定义验证和XSLT jar作为其中的一部分。

这些jar在plugin.xml中与插件的jar本身一起被引用,并且部署在与插件的jar相同的位置。

当我尝试在Spoon GUI中加载此插件时,我可以看到并运行插件,直到我到达外部jar的引用,之后我得到ClassNotFOund异常。

到目前为止,我尝试过以下但是没有效果:

  1. 将经验Jars添加到libext文件夹,并期望自动获取这些文件夹。 - 失败了。罐子没装。
  2. 向Spoon.bat添加-cp命令行选项并指定Jar文件 - 不起作用。
  3. 打开-verbose选项并在输出中的任何位置搜索,但忽略Jars。
  4. 在插件的文件夹中的插件的Jar文件旁边部署了Jars。 - 罐子不被识别。
  5. 从插件中,如果我动态加载(使用Reflection和URL类加载器),我可以强制加载Jars并且它可以这样工作,但我想要一个更简单的类路径修复。

  6. 我通过XSL扩展(XALAN-J Java扩展)在Jar中引用的任何类仍然无法识别/加载,并且XSL在Extension调用开始时终止。

  7. 搜索了Google和此网站上的类似内容,但没有找到有关SPoon行为如此不同以及避免外部代码和内容的具体答案。
  8. 此处报告了一个类似的问题,虽然它太旧了,但没有显示最终的结论性修复。我尽力说了。 http://forums.pentaho.com/archive/index.php/t-77190.html
  9. 请求某人帮我确定丢失的内容。提前谢谢,

1 个答案:

答案 0 :(得分:1)

感谢这个看似晦涩难懂的网站,它解决了所有的痛苦。

http://www.arulraj.net/2014/09/how-to-access-external-java-libraries-with-in-pentaho.html

基本上,转到启动器文件夹并编辑launcher.properties文件以包含任何路径,库等,它修复了我上面报告的所有问题。希望Kettle记录有这样的答案。