2

私は Pentaho DI / Kettle 4.4 用のカスタム プラグインを開発しており、その一部としてカスタム Validation および XSLT jar を使用しています。

これらの jar は、プラグインの jar 自体とともに plugin.xml で参照され、プラグインの jar と同じ場所にデプロイされます。

このプラグインを Spoon GUI にロードしようとすると、外部 jar への参照に到達するまでプラグインを正常に表示および実行でき、その後 ClassNotFOund Exception が発生します。

私はこれまでに次のことを試みましたが、うまくいきませんでした:

  1. 外部の Jar を libext フォルダーに追加し、それらが自動的に取得されることを期待します。- 失敗した。Jar がロードされていません。
  2. -cp コマンド ライン オプションを Spoon.bat に追加し、Jar ファイルを指定します - 動作しませんでした。
  3. -verbose オプションをオンにして、出力内のすべての場所を検索しますが、Jar は無視されます。
  4. プラグインのフォルダー内のプラグインの Jar ファイルの隣に Jar をデプロイしました。- Jar は認識されません。
  5. プラグイン内から (Reflection と URL Class Loader を使用して) 動的にロードすると、Jar を強制的にロードすることができ、そのように動作しますが、より簡単なクラスパスの修正が必要です。

  6. XSL externsion (XALAN-J Java Extension) を介して Jar で参照するクラスは、まだ認識されず、読み込まれず、XSL は Extension 呼び出しの開始時に終了します。

  7. Google とこのサイトで似たようなものを検索しましたが、SPoon の動作が大きく異なり、外部コードとコンテンツを回避する理由について具体的な回答が見つかりませんでした。
  8. 同様の問題がここで報告されていますが、古すぎるため、最終的な決定的な修正は示されていません。私はそれが言ったことをすべて試しました。http://forums.pentaho.com/archive/index.php/t-77190.html

何が欠けているかを特定するのを手伝ってくれる人を求めています。前もって感謝します、

4

1 に答える 1

1

この一見あいまいなウェブサイトのおかげで、すべての痛みが解消されました。

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

基本的に、ランチャー フォルダーに移動し、launcher.properties ファイルを編集して任意のパス、ライブラリなどを含めると、上記で報告したすべての問題が修正されます。Wish Kettle のドキュメントには、このような回答がありました。

于 2014-10-02T17:00:43.667 に答える