EclipseでZK WebUIのデバッグをする方法を紹介します。
・準備
Adempiereをインストールしたディレクトリにある、utils\myEnvironment.bat ファイル
(C:\Adempiere\utils\myEnvironment.bat など)の中に書かれている、
ADEMPIERE_JAVA_OPTIONS という変数に以下の内容を追加します。
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888
追加した結果はこのようになります:
@SET ADEMPIERE_JAVA_OPTIONS=-Xms64M -Xmx512M -DADEMPIERE_HOME=D:\Develop\A -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888
myEnvironment.batを修正したら、
C:\Adempiere\utils\RUN_Server2.bat スクリプトを使ってサーバーを開始してください。
次に、Eclipseのメニューから、
Run > Open Debug Dialog
を開いて、Remote Java Applicationのコンフィギュレーションを新規作成してください。
Connectタブにある、
「Project」は、起動しているサーバーと同じバージョンのAdempiereのソースコードを設定してください。
「Connection Type」は、Standard (Socket Attach) を選択してください。
「Connection Properties」の「Host」はlocalhost、「Port」は8888にしてください。
設定が終わったら、右下の「Debug」ボタンを押してください。
・デバッグ
base/src/org/compiere/model/GridWindowVO.java
62行目(createメソッド)
base/src/org/compiere/model/GridTabVO.java
49行目(createメソッド)
base/src/org/compiere/model/GridFieldVO.java
78行目(createメソッド)
などにブレークポイントを設定して、WebUIからAdempiereのウィンドウを開くと
プログラムを止めることができます。