iDempiere7.1~9の開発環境の構築
iDempiere7.1において、ソースコードを管理しているリポジトリが、BitbucketからGitHubに移管されました(※参照:【iDempiere PJ Reports】iDempiereのリポジトリがGitHubに移転)。そのため、このコンテンツでは、GitHubからソースコードを取得する前提で、iDempiere7.1の開発環境の構築について調査及び研究し、その成果をまとめています。
ソースコードの取得がGitHubになった事以外は、基本的にはiDempiere6.1と6.2の開発環境構築方法と同じです。
ページ内目次
開発環境PC推奨スペック
◆メモリ:8GB以上のPC
- 4GBのメモリでは、Eclipseを立ち上げるのも精いっぱいな感じで、まともに作業ができる環境にはならないと思います。少なくともメモリは8GB以上、快適に作業したいのであれば16GB以上のメモリを推奨します。
- CPUのコア数も多い分には越したことはありません。最低でも2コアは欲しいですし、快適に作業したいのであれば4コア以上を推奨します。
- HDDは、快適に作業したいのであればSSDをオススメします。
iDempiereがインストールできる環境が整っている事
◆JDKのインストール
- iDempiere10 -> JDK11 or JDK17
- iDempiere9 -> JDK11 or JDK17
- iDempiere8.2 -> JDK11
- iDempiere7.1 -> JDK11 or JKD12 ※JDK11がLTSなので、JDK11をオススメします。
◆PostgreSQLのインストール
PostgreSQLをインストールしたら、adempiereユーザーを登録し、iDempiereのダンプファイルをリストアして下さい。下記、JDBCのバージョンに対応したPostgreSQLを使用して下さい。
- iDempiere9 -> JDBCのバージョンは、42.3.3です。
- iDempiere8.2 -> JDBCバージョンは、42.2.18です。
- iDempiere7.1 -> JDBCバージョンは、42.2.5です。
開発環境をセットアップするための準備
◆Mavenのインストール
iDempiereでは、バージョン6.1よりビルドツールがMavenに変更になっています。そのためMavenをインストールして下さい。
◆Gitのインストール
iDempiereでは、バージョン7.1よりソースコードの管理がMercurialからGitに変更になっています。そのためGitをインストールして下さい。
◆Eclipseのダウンロード
iDempiereはEclipseを使って開発して行きます。日本語対応されているEclipseのAll in OneパッケージのPleaidesを使っても大丈夫です。iDempiereのバージョン毎に推奨されるEclipseのバージョンがあります。
- iDempiere9 -> Eclipse202112(2021年の最終版)
- iDempiere8.2 -> Eclipse202011(2020年の最終版)
- iDempiere7.1 -> Eclipse201909
ソースコードのダウンロード
GitHubからソースコードをクローンします。
このコンテンツでは、Cドライブの直下に、srcというフォルダを作成して、そこにソースコードをダウンロードしている想定で説明しています。
git clone https://github.com/idempiere/idempiere.git
こでれ、下記の場所にソースコードがダウンロードされているはずです。
C:\src\idempiere
ブランチの切り替え(メンテナンス用のブランチのチェックアウトする)
上記のコマンドでクローンしたままでは、ワークスペースのブランチは"master"の状態になります。masterのブランチは、iDempiereコミュニティーとしては、次のバージョンに向けての開発用のブランチとの位置づけです。そのため、メンテナンスを行っているブランチに切り替える必要があります。
◆iDempiereのブランチ
- iDempiere9のブランチ名は、"release-9"です。
- iDempiere8.2のブランチ名は、"release-8.2"です。
- iDempiere7.1のブランチ名は、"release-7.1"です。
git checkout release-7.1
Mavenのvalidateとverifyの実行
GitHubからソースコードをクローンしたら、Eclipseで開く前に、Mavenのvalidateとverifyを実行して、インストールパッケージが問題無く作成できる事を確認して下さい。
mvn validate
mvn verify
Mavenのverifyを実行すると、iDempiereのインストールパッケージが下記のフォルダに作成されます。C:\src\idempiere\org.idempiere.p2\target\products\org.adempiere.server.product
この時点で、インストールパッケージまで作成できる事を確認するのは、開発環境構築の際のエラー原因を切り分けるためにも大切です。この時点でインストールパッケージが作成できているのであれば、ここまでの作業は問題無く行われているという確認になります。
参考
iDempiereのソースコードをダウンロードしているフォルダ(ディレクトリ)をワークスペースに指定する
ワークスペースの確認
Eclipseのメニュー > ウィンドウ > 設定で、ワークスペースの設定を確認して行きます。
コンパイラーの設定
Eclipseのメニュー > ウィンドウ > 設定で、主にコンパラ―の設定を確認して行きます。
iDempiere7.1と8.2は、11を推奨します。iDempiere9の場合は、11もしくは17を推奨します。
ビルド・パスの問題で、「ビルド・パス・エラーの発生時にビルドを中断」を"OFF"にするのと、「不完全なビルド・パス」を"警告"、「循環依存関係」も"警告"にする事をオススメします。
自動的にビルドをOFFにする
開発環境の設定を変更する都度ビルドされると、時間がかかるので、自動的にビルドはいったんOFFにしましょう!!
Mavenプロジェクトのインポート
ターゲットプラットフォームのインポート
※iDempiere9以降では、ターゲットプラットフォームはインポートする必要はありません。iDempiere9からソースコードと一緒にインポートされるようになりました。
Tychoのインストールに失敗した場合
Mavenプロジェクトをワークスペースにインポートする際に、Tycho(タイコー)というEclipseプラグインが無い場合には、自動的にインストールしてくれます。
しかしながら、もし下記のように失敗した場合には、手動でインストールして下さい。
手動でインストールする方法については、下記のリンク先のコンテンツを参照して下さい。
基本的には、上記のリンク先の案内に従ってTychoをインストールすれば、開発環境は構築できるのではないかと思います。
しかしながら、下記のm2eコネクターも開発環境の構築に必要なプラグインとして紹介されていますので、下記に手動でのインストールを紹介しておきます。ただ、不要だと思いますので、まずはインストールせずに開発環境の構築をしてみてください。
org.idempiere.p2.targetplatform.targetをダブルクリックすると、自動的にターゲットに設定されている色々なjarファイルのダウンロードが開始されます(※Eclipseの右下の処理を行っているプログレスバーに注目して下さい)。この処理は、時間的には結構かかります(目安:10分~30分くらい)。終わるまで、ちょっと一休みして下さい(*´▽`*)。
処理の47%~51%くらいにかけて、やたら長い時間処理していますが、我慢して下さい。
そこを超えればもう少しです!!
処理が完了したら、"Set as Active Target Platform"をクリックします。
"Set as Active Target Platform"をクリックすると、また処理が少し入ります。ここが無事終わったらクリーン&ビルドを実行して行きます。
自動的にビルドをONにする
クリーン&ビルドの実行
クリーン&ビルドを実行して、エラーが出なければ、開発環境の構築は、ひとまず完了です。
後は確認として、iDempiereの初期セットアップを行ってEclipseから起動してみましょう!!
クリーン&ビルドを実行しても、Eclipseのエラー表示が消えない場合
この段階でも、Eclisepのエラー表示が無くならないのは比較的よくあります。
そのような場合、下記の【対応1】もしくは【対応2】を行ってみて下さい。
◆【対応1】自動的にビルドがONになっているのを確認した上で、もういちどターゲットプラットフォームの設定を行って下さい。
ターゲット定義を開いて、もういちど、[更新] -> [再ロード] -> [set as Active Target Platform]を実行して下さい。
[自動的にビルド]をONにした事により、処理が実行された後で、すぐにビルドが行われます。そのビルドが完了すると、エラーが消えることがほとんどです。
◆【対応2】変更されているファイルをもとに戻す
基本的に多くの場合【対応1】を実行すれば、Eclipseのエラー表示は消えると思います。しかしながら、何度行っても消えない場合もあるかと思います。そのような場合は、ファイルが変更になっていなかどうか、バージョン管理ツールを用いて確認してみてください。
Eclipseを閉じる際に、意図していないファイルが修正されてしまう事象を確認しており、その影響が考えられます。
ソースツリーを使ってバージョン管理している場合、変更になっているファイルを右クリックして、[破棄]を選択して、もとに戻して下さい。PleiadesのAll in Oneを使っている場合であれば、Gitのパースペクティブに切り替える事により、同様の事ができるはずです。
経験的に下記のファイルが、意図せずに更新されてしまっている事象を確認しています。
- server.product.launch
- org.idempiere.p2.targetplatform.target
この事象は、Eclipse[Pleiades]もしくはTychoプラグインの不具合だと思われます。この事象は、[ターゲット定義]タブを開いたまま、Eclipseを閉じると発現する事がある様子です。
【ポイント】Eclipseを終了させる前に、ターゲット定義タブを閉じる
この事象に遭遇しないようにするために、Eclipseを終了させる前に、ターゲット定義タブを閉じるようにして下さい。
しかしながら、Tychoを自動インストールする時に、Eclipseの再起動が求められ、ターゲット定義タブを開いたまま再起動してしまうと思います。そのため、最初の1回目の開発環境構築では、この事象に遭遇する可能性が高くなります。 (T・T)
実行構成のポップアップの左側にある、[Eclipseアプリケーション]の[install.app]を選択し、実行して行きます。
【注意】
- 実行構成のポップアップは低スペックの環境だと開くのに少し時間がかかります。
- Eclipseアプリケーションの[install.app]を選択したら、[メイン]タブの内容が変更になるのを確認して、[実行]ボタンを押してください。
サーバーの設定は、インストールの時と同じです。
実行構成のポップアップの左側にある、[Eclipseアプリケーション]の[server.product]を選択し、実行して行きます。