iDempiere7.1~9の開発環境の構築

 iDempiere7.1において、ソースコードを管理しているリポジトリが、BitbucketからGitHubに移管されました(※参照:【iDempiere PJ Reports】iDempiereのリポジトリがGitHubに移転)。そのため、このコンテンツでは、GitHubからソースコードを取得する前提で、iDempiere7.1の開発環境の構築について調査及び研究し、その成果をまとめています。

ソースコードの取得がGitHubになった事以外は、基本的にはiDempiere6.1と6.2の開発環境構築方法と同じです。

事前準備

GitHubからソースコードを取得する前に下記の準備をして下さい。

開発環境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というフォルダを作成して、そこにソースコードをダウンロードしている想定で説明しています。

 

iDempiereのリポジトリからソースコードをクローンする

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

この時点で、インストールパッケージまで作成できる事を確認するのは、開発環境構築の際のエラー原因を切り分けるためにも大切です。この時点でインストールパッケージが作成できているのであれば、ここまでの作業は問題無く行われているという確認になります。

 

Eclipseのワークスペースの設定

Eclipseを起動して、ワークスペースの設定を行います。

iDempiereのソースコードをダウンロードしているフォルダ(ディレクトリ)をワークスペースに指定する

 

ワークスペースの確認

Eclipseのメニュー > ウィンドウ > 設定で、ワークスペースの設定を確認して行きます。

 

コンパイラーの設定

Eclipseのメニュー > ウィンドウ > 設定で、主にコンパラ―の設定を確認して行きます。

iDempiere7.1と8.2は、11を推奨します。iDempiere9の場合は、11もしくは17を推奨します。

ビルド・パスの問題で、「ビルド・パス・エラーの発生時にビルドを中断」を"OFF"にするのと、「不完全なビルド・パス」を"警告"、「循環依存関係」も"警告"にする事をオススメします。

 

自動的にビルドをOFFにする

開発環境の設定を変更する都度ビルドされると、時間がかかるので、自動的にビルドはいったんOFFにしましょう!!

EclipseにiDempiereのソースコードをインポートする

Eclipseの設定が完了したら、iDempiereのソースコードをワークスペースにインポートします。

Mavenプロジェクトのインポート

 

ターゲットプラットフォームのインポート

※iDempiere9以降では、ターゲットプラットフォームはインポートする必要はありません。iDempiere9からソースコードと一緒にインポートされるようになりました。

Tychoのインストールに失敗した場合

Mavenプロジェクトをワークスペースにインポートする際に、Tycho(タイコー)というEclipseプラグインが無い場合には、自動的にインストールしてくれます。

しかしながら、もし下記のように失敗した場合には、手動でインストールして下さい。

手動でインストールする方法については、下記のリンク先のコンテンツを参照して下さい。

基本的には、上記のリンク先の案内に従ってTychoをインストールすれば、開発環境は構築できるのではないかと思います。

 

しかしながら、下記のm2eコネクターも開発環境の構築に必要なプラグインとして紹介されていますので、下記に手動でのインストールを紹介しておきます。ただ、不要だと思いますので、まずはインストールせずに開発環境の構築をしてみてください。

ターゲットプラットフォームの設定

Eclipseにソースコードをインポートしたら、ターゲットプラットフォームの設定を行います。

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を閉じる際に、意図していないファイルが修正されてしまう事象を確認しており、その影響が考えられます。

SourceTree
SourceTree

ソースツリーを使ってバージョン管理している場合、変更になっているファイルを右クリックして、[破棄]を選択して、もとに戻して下さい。PleiadesのAll in Oneを使っている場合であれば、Gitのパースペクティブに切り替える事により、同様の事ができるはずです。

経験的に下記のファイルが、意図せずに更新されてしまっている事象を確認しています。

  • server.product.launch
  • org.idempiere.p2.targetplatform.target

この事象は、Eclipse[Pleiades]もしくはTychoプラグインの不具合だと思われます。この事象は、[ターゲット定義]タブを開いたまま、Eclipseを閉じると発現する事がある様子です。

Eclipseを終了させる前に、ターゲット定義タブを閉じるのをオススメします
Eclipseを終了させる前に、ターゲット定義タブを閉じるのをオススメします

【ポイント】Eclipseを終了させる前に、ターゲット定義タブを閉じる

 この事象に遭遇しないようにするために、Eclipseを終了させる前に、ターゲット定義タブを閉じるようにして下さい。

 しかしながら、Tychoを自動インストールする時に、Eclipseの再起動が求められ、ターゲット定義タブを開いたまま再起動してしまうと思います。そのため、最初の1回目の開発環境構築では、この事象に遭遇する可能性が高くなります。 (T・T)

iDempiereのセットアップ

Eclipseの開発環境から、DBにアクセスできるように初期セットアップを行って行きます。

メニュー > [実行] -> [実行構成]

実行構成のポップアップの左側にある、[Eclipseアプリケーション]の[install.app]を選択し、実行して行きます。

【注意】

  • 実行構成のポップアップは低スペックの環境だと開くのに少し時間がかかります。
  • Eclipseアプリケーションの[install.app]を選択したら、[メイン]タブの内容が変更になるのを確認して、[実行]ボタンを押してください。

サーバーの設定は、インストールの時と同じです。

iDempiereの起動

Eclipseの開発環境から、iDempiereを起動させます。

メニュー > [実行] -> [実行構成]

実行構成のポップアップの左側にある、[Eclipseアプリケーション]の[server.product]を選択し、実行して行きます。

実行構成やデバッグの構成でエラーが表示された場合は、下記のコンテンツも参考にしてみて下さい。

参考

参考サイト