JPiereの開発環境構築

iDempiereトレーニング研修

iDempiereの開発環境構築

 JPiereの開発環境を構築するには、その前にiDempiereの開発環境が必要です。下記のコンテンツを参考にiDempiereの開発環境を構築して下さい。

【補足説明】iDempiereのバージョンとJPiereのバージョン

 JPiereのバージョン番号はiDempiereのバージョン番号と同期をしています。そのため開発環境を構築する際には、同じバージョンのiDempiereのソースコードとJPiereのソースコードを使用するようにして下さい。

 私(萩原 秀明)がJPiereの開発環境で使用しているiDempiereのソースコードは下記のサイトで公開しています。

 このリポジトリはiDempiere本家のリポジトリからフォークしたままの状態で何もカスタマイズしていません(私がJPiereを開発するためにiDempiereのソースコードをタイムスタンプ的に保持しているだけです)。1ヶ月に一回ほどを目安に、iDempiereの本家リポジトリと同期をとって最新の状態にしています。

JPiereのソースコードの取得

 JPiereのソースコードは、次の2ヵ所で公開しています。どちらかから選んで開発環境を構築して下さい。

 JPiereのソースコードはBitbucketで管理&公開しています。Bitbucketより、最新のJPiereのソースコードを取得する事ができます。

 iDempiereのリリースに合わせて、JPiereのソースコードもOSDNで公開しています。iDempiereのバージョンに合わせてJPiereの開発環境を構築したい場合は、こちらからソースコードを取得して開発環境を構築して下さい。

 こちらは、最新のソースコードではありません。JPiereのインストールパッケージを公開した際に、その時のタイムスタンプとしてソースコードを公開しています。

JPiereの構成とリポジトリ

 JPiere(ジェイピエール)はiDempiere(アイデンピエレ)をベースとして次の5つに分類し、開発及び管理しています。

JPiereの構成
JPiereの構成

 JPiereコンフィギュレーションズはパラメータ設定だけのカスタマイズになりますのでソースコードはありません。JPiereコンフィギュレーションズのリポジトリでは、PostgreSQLのダンプファイルを管理するのとJPiereコンフィギュレーションズに施されているカスタマイズのリソース(主にSQLのDDL)を管理しています。

◆PostgreSQLのダンプファイル(/data/ExpDat.dmp)

 PostgreSQLのダンプファイルは、dataフォルダの直下にあるExpDat.dmpファイルです。JPiereの開発環境を構築する際には、このダンプファイルを使用してデータベースをリストアして下さい。

【補足説明】JPiereコンフィギュレーションズだけを使用したい場合

 JPiereコンフィギュレーションズだけを使用したい場合は、JPiereコンフィギュレーションズの使用上の注意を参考にして下さい。

 JPiereフラグメンツはOSGiのフラグメントの機能を活用して作成したプラグイン群です。Eclipseのプロジェクトはフラグメントのベースとなるプラグイン毎に作成する必要があるため複数存在していますが、リポジトリ上は1つのリポジトリでまとめて管理しています。

 JPiereフラグメンツのリポジトリには下記のプラグインプロジェクトが含まれています(2016年5月現在)。

  • jpiere.fragment.org.adempiere.base
  • jpiere.fragment.org.adempiere.report.jasper.library
  • jpiere.fragment.org.adempiere.ui.zk

 JPiereベースプラグインは日本で必要とされるであろう機能を1つのプラグインにして提供しています。そのためJPiereベースプラグインのリポジトリで管理されているソースコードにはEclipseのプラグインプロジェクト(jpiere.base.plugin)が1つだけ含まれています。

 JPiereベースプラグイン(JPBP)を使用する際には、JPiereフラグメンツ(JPFS)とJPiereコンフィギュレーションズ(JPCS)も一緒に使用する事を推奨いたします。

 JPiereプラグインズでは、日本だけでなく多くの人にとって有益であろうプラグインを個々に独立して管理&開発しています。そのため、リポジトリも個々のプラグイン毎にあります。JPiereのリポジトリで、jpiere.plugin.○×△…となっているリポジトリはすべてJPiereプラグインズのリポジトリです。

◆JPiereプラグインズのリポジトリ(2016年5月現在)

  • jpiere.plugin.delete
  • jpiere.plugin.import
  • jpiere.plugin.webui.dashboardgadget
  • jpiere.plugin.webui.formwindow
  • jpiere.plugin.webui.matrixwindow
  • jpiere.plugin.webui.simpleinputinputwindow
  • jpiere.plugin.webui.wysiwygeditor

 JPiereプラグインズはそれぞれ単体でiDempiereのプラグインとして使用する事ができます。

 JPiereモディフィケーションズはiDempiereのコアとなっているソースコードに修正を加えたい場合に、OSGiのフラグメントの機能を活用して作成したプラグイン群です。Eclipseのプロジェクトはフラグメントのベースとなるプラグイン毎に作成する必要があるため複数存在していますが、リポジトリ上は1つのリポジトリでまとめて管理しています。

 JPiereモディフィケーションズのリポジトリには下記のプラグインプロジェクトが含まれています(2016年5月現在)。

  • jpiere.modification.org.adempiere.base
  • jpiere.modification.org.adempiere.ui.zk

プラグインのソースコードをEclipseにインポートする方法

 JPiereコンフィギュレーションズ以外はソースコードをiDempiereの開発環境が構築されているEclipseにインポートする必要があります。プラグインのプロジェクトは普通のプロジェクトと同じ方法でEclipseにインポートする事ができます。

Eclipseメニュー:ファイル->インポート
Eclipseメニュー:ファイル->インポート

Eclipseのメニューバーからファイル->インポートを選択して下さい。

インポート:既存プロジェクトをワークスペースへ
インポート:既存プロジェクトをワークスペースへ

 使いたいプラグイン選択肢てインポートして下さい。

プラグインプロジェクトのインポート後

JPiereのプラグインのプロジェクト名は、すべて"jpiere"からはじまるように統一していますので、プロジェクト・エクスプローラーでは一番上に配置されるのでわかりやすくなっています。

Eclipseの設定

 JPiereの各種プラグインをインポートしたら、デバッグやインストールパッケージにインポートしたプラグインを含める設定を行う必要があります。

EclipseからiDempiereを起動するために必要な設定

 JPiereをEclipseから実行するための設定です。メニューの実行->実行構成を開きます。

実行->実行構成
実行->実行構成

 左側のメニューの”Eclipseアプリケーション”から"server.product"を選択し、右に表示されるプラグインタブで、使用するプラグインのフラグをONにします。

※開始レベルと自動開始の設定はデフォルトでも動くと思いますが、適宜行って下さい。

実行構成
実行構成

【補足説明】プラグインの開始レベルと自動開始設定

 JPiereの各種プラグインの開始レベルと自動開始設定でエラーになる場合、次のように開始レベルと自動開始の設定を行ってみて下さい。

  • JPBP(jpiere.base.plugin)の開始レベルは"4"で、自動開始は"true"。
  • JPPS(jpiere.plugin.○×△)の各種プラグインの開始レベルは"5"で、自動開始は"true"。
  • JPFS(jpiere.fragment.○×△)の各種プラグインの開始レベルは"default"で、自動開始は"false"。※フラグメントプロジェクトなので変更できません。
  • JPMS(jpiere.modifications.○×△)の各種プラグインの開始レベルは"default"で、自動開始は"false"。※フラグメントプロジェクトなので変更できません。

 

JPiereモディフィケーションズだけの特別な設定

 JPiereモディフィケーションズを有効にするために、次の設定が必要です。

◆jpiere.modification.org.adempiere.baseプロジェクト

 jpiere.modification.org.adempiere.baseプロジェクトのJPiereモディフィケーションズを有効にするためにはorg.adempiere.baseプロジェクトのマニフェストファイルにクラスパス"jpiere.modification.org.adempiere.base.jar"を一番上に追加して下さい

マニフェストファイルにクラスパスを追加
マニフェストファイルにクラスパスを追加

【注意】マニフェストエディタ上でクラスパスを追加した場合

 マニフェストエディタ上でクラスパスを追加した場合、ビルド情報にもそのクラスパスが自動で追加されてしまいます。ビルド情報へクラスパスを追加するのはJPiereモディフィケーションズの有効かの妨げになります。もしマニフェストエディタからクラスパスを追加た後で、ビルド情報へクラスパスも追加されているのを確認したらその部分の設定は削除して下さい。

ビルドタブに自動的に追加されるjpiere.modification.org.adempiere.base.jarを削除して下さい。
ビルドタブに自動的に追加されるjpiere.modification.org.adempiere.base.jarを削除して下さい。

◆jpiere.modification.org.adempiere.ui.zkプロジェクト

 jpiere.modification.org.adempiere.ui.zkのプロジェクトもjpiere.modification.org.adempiere.baseプロジェクトと同様の設定を行います。

 jpiere.modification.org.adempiere.ui.zkプロジェクトのJPiereモディフィケーションズを有効にするためにはorg.adempiere.ui.zkプロジェクトのマニフェストファイルにクラスパス"jpiere.modification.org.adempiere.ui.zk.jar"を一番上に追加して下さい

マニフェストファイルの編集
マニフェストファイルの編集

 ビルドタブのランタイム情報に"jpiere.modification.org.adempiere.ui.zk.jar"が追加されていますので、選択し、Deleteボタンを押して削除して下さい。

ビルドタブのランタイム情報に追加されている"jpiere.modification.org.adempiere.ui.zk.jar"はDeleteボタンを押して削除して下さい。
ビルドタブのランタイム情報に追加されている"jpiere.modification.org.adempiere.ui.zk.jar"はDeleteボタンを押して削除して下さい。

JPiereのプラグインをiDempiereのインストールパッケージに含めるための設定

 JPiereをインストールパッケージに含めるためにはorg.adempiere.server-featureプロジェクトにあるfeature.xmlを編集します。

JPiereをインストールパッケージに含める方法
JPiereをインストールパッケージに含める方法

 プラグインタブで、追加ボタンをおし、JPiereのプラグインプロジェクトを選択して追加して下さい。これでJPiereのプラグインをあらかじめインストールパッケージに含める事ができます。

 インストールパッケージの作成方法は、iDempiereとまったく同じです。次のコンテンツを参照して下さい。