目次
ケトル ソース コード環境でプラグインまたはカスタム プラグインをリモートでデバッグする
最近、Kettle の 2 次開発中に、自分が書いたプラグイン コードをデバッグする必要があり、インターネットで情報を検索したところ、プラグイン コードをデバッグするにはソース コード環境をデプロイする必要があると考えたので、このケトルのソースコード環境をデプロイするのは主に、ダウンロードの依存関係が遅すぎて特別な外部イメージが必要なため、比較的遅くなる可能性があります. ネットワークが良くない場合は、数時間かかる場合があります.ケトルのソースコードはここでは表示されません 環境、ケトル8.3のソースコード環境展開については次回のブログで説明します。
しかし、その後、ケトルもクライアントを使用してデバッグおよびリモート デバッグできることが 判明し、Java 仮想マシンはデバッグおよびリモート デバッグをサポートしています。次の 2 つの方法で話します。実際、ケトルをリモート デバッグに使用できるだけでなく、jar でデプロイされたプロジェクトをリモート デバッグに使用することもできます。これには、さまざまな構成が必要になる場合があります。
リモート デバッグ用のケトル クライアント
私が実演したケトルクライアント環境はケトル7.1.0.0-12です. まずケトルクライアントとは何かを説明しましょう. 以前にダウンロードしたソフトウェアzipアーカイブです. 解凍後, 直接実行することができます, 別名グリーンインストール版。最初に、必要なケトルのバージョンをケトルの公式 Web サイトに直接インストールします。 公式 Web サイト: Hitachi Vantara の Pentaho - SourceForge.net の参照/データ統合
対応する zip をダウンロードして解凍した後、次のディレクトリの状況を確認できます。特定のインストールは、zip ソフトウェアが同じ方法でインストールされていることです。不明な場合は、Baidu/Google でケトルのインストールを直接検索できます。関連情報をまとめました。
実行後のやかんの様子を見てみましょう。
ケトルのリモート デバッグ環境を構成します。
①spoon.batファイルをエディタで開く
次の行を見つけます。
この行の後に追加: 二重引用符を入れないでください! ! ! address は、監視するように構成されたポート番号です。
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
構成が完了すると、次のようになります。
② ideaでリモートデバッグ環境を構築する
特別な注意: リッスン ポートは、spoon.bat で設定したポートと同じにする必要があります。! !
構成が完了すると、次のように表示されます。
③稼働ケトルとモニタリング環境
インストール解凍パッケージのspoon.batをダブルクリックし、ケトルが正常に実行されるのを待ち、アイデアでデバッグを開始します
④ 要件に応じた割り込みとデバッグ
疑問があるかもしれません. 実行中のプロジェクトにはjarパッケージが含まれています. ポイントを破る方法? 実は私も最初は戸惑いました.
idea によって開かれたケトル インターフェイスは次のとおりです。この時点でケトルが実行されており、idea でのリモート デバッグも実行されています。
リモート デバッグ テスト用のプラグインを見つけるだけです。
次に、idea によって開かれたクライアントで、対応するプラグインの依存関係パッケージ jar を見つけます。それを依存関係として取り、要点を破るために使用できるようにします。
次に、jar の依存関係を展開して関連するクラス ファイルを表示できることがわかります。このクラス ファイルのポイントを直接分割できます。まず、ウィンドウ コードのクラス ファイルを見つけます 。アイデアは実行することです!! !
次にケトルに移動し、プラグインをダブルクリックします。
デバッグ効果をトリガーします。
次に、デバッグの必要に応じて、デバッグしたい場所に移動できます。! !
追加したばかりのライブラリとして追加を削除する場合は、次の方法も可能です。
ケトル ソース コード環境でプラグインまたはカスタム プラグインをリモートでデバッグする
ケトルのソースコード環境がすでに構築されていると仮定して、以下にケトル8.3のソースコード環境を示します。
パス org.pentaho.di.ui.spoon.Spoon でプログラム エントリ ファイルを見つけます。
このスタートアップ ファイルを実行します。ケトル ソース コードが正しくデプロイされている場合、対応する操作ページが開きます。
ケトル 8.3 のソース コード環境のプラグインは、プラグイン jar の依存関係を特別なフォルダーにデプロイして、操作ページで有効にする必要があります。それについては後で話します。
ソースコード環境を使用してこのプログラムを開始した後、ケトルのいくつかの元の機能を直接デバッグでき、対応するコードで直接デバッグできます。リモートデバッグの必要はありません。デバッグメソッドを使用してスプーンクラスを開始するだけです直接、次に対応する Java コードのブレークポイントに移動します。
ただし、一部のプラグインまたはカスタム プラグインをデバッグする必要がある場合は、idea のデバッグ機能を直接使用してデバッグできます (スプーン プログラムをデバッグ モードで起動する必要があります)。対応するプラグイン jar の add as ライブラリを使用するだけで、その他の操作はクライアント側と同じです。
しかし、起動操作ページに移動して検索すると、プラグインの操作は上記のページになく、操作ページに表示するには直接展開する必要があることがわかります。
注: この jar はパッケージ化されたプラグインの jar であり、lib はプラグインに必要ないくつかの外部依存関係です。要件の構成を参照してください。
この version.xml は次の内容で開きます。
<?xml version="1.0" encoding="UTF-8"?>
<version branch='TRUNK'>7.1.0.0-12</version>
jar パッケージは、次の 2 つの方法で取得できます。
①:カスタム開発プラグインがmavenプロジェクトの場合、mavenを利用してプラグインのソースコードをパッケージ化できる
②:ケトルに付属している外部プラグインの場合は、クライアントのzipで見つけることができます
対応するプラグインをソース コード環境にデプロイした後、spoon をデバッグ モードで起動して、デプロイされたプラグインを操作ページで確認し、jar add をプラグインのライブラリとして追加して、クラス ファイルを分割します。