【问题标题】:Pentaho DI / Kettle / Spoon Configuration with External JarsPentaho DI / Kettle / Spoon Configuration with External Jars
【发布时间】:2014-10-01 21:03:11
【问题描述】:

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

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

当我尝试在 Spoon GUI 中加载这个插件时,我可以看到并正常运行插件,直到我到达对外部 jar 的引用,然后我得到 ClassNotFOund Exception。

到目前为止,我已经尝试过以下操作,但没有成功:

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

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

  7. 在 Google 和该网站上搜索了类似的内容,但没有找到关于 SPoon 行为如此不同并避免使用外部代码和内容的具体答案。
  8. 这里报告了一个类似的问题,虽然它太旧并且没有显示最终的决定性修复。我尝试了它所说的一切。 http://forums.pentaho.com/archive/index.php/t-77190.html

请求某人帮助我确定缺少的内容。提前致谢,

【问题讨论】:

  • 顺便说一句,这是 JDK 1.7 的行为。

标签: xslt pentaho classnotfoundexception kettle spoon


【解决方案1】:

感谢这个看似不起眼的网站,它解决了所有问题。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多