iDempiere11の開発環境の構築

 iDempiere11の開発環境の構築について調査及び研究し、その成果をまとめています。

このコンテンツは現在作成中です。

事前準備

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

開発環境PC推奨スペック

◆メモリ:16GB以上のPC

  • 4~8GBのメモリでは、Eclipseを立ち上げるのも精いっぱいな感じで、まともに作業ができる環境にはならないと思います。6GB以上のメモリを推奨します。
  • CPUのコア数も多い分には越したことはありません。最低でも2コアは欲しいですし、快適に作業したいのであれば4コア以上を推奨します。
  • HDDは、快適に作業したいのであればSSDをオススメします。

 

iDempiereがインストールできる環境が整っている事

◆JDKのインストール

 

◆PostgreSQLのインストール

PostgreSQLをインストールしたら、adempiereユーザーを登録し、iDempiereのダンプファイルをリストアして下さい。下記、JDBCのバージョンに対応したPostgreSQLを使用して下さい。

  • iDempiere11 -> JDBCのバージョンは、42.7.1です。

※PostgreSQL14あたりがおすすめです。

 

開発環境をセットアップするための準備

◆Mavenのインストール

iDempiereでは、バージョン6.1よりビルドツールがMavenに変更になっています。そのためMavenをインストールして下さい。インストールするMavenのバージョンは3.9.xをインストールして下さい。iDempiere ver11よりTychoのバージョンが4.0.4になっており、Tychoの制約でMavenは3.9.xを使用する必要があります。

※Mavenのバージョンは、3.9.6をオススメします。

 

◆Gitのインストール

iDempiereでは、バージョン7.1よりソースコードの管理がMercurialからGitに変更になっています。そのためGitをインストールして下さい。

 

◆Eclipseのダウンロード

iDempiereはEclipseを使って開発して行きます。iDempiere11においては、Eclipse2023-12版が推奨されています。「Eclipse IDE for Enterprise Java and Web Developers」をダウンロードして下さい。

【補足説明】Pleiadesでの開発環境構築

Eclipseの日本語版の環境ともいえるPleiadesで開発環境を構築したいと考える人も多いと思いますが、Pleiadesはプラグインの開発用のパースペクティブが排除されている様子で、このコンテンツを作成している時点では、Pleiadesでの開発環境の構築はオススメしていません。

ソースコードのダウンロード

GitHubからソースコードをクローンします。

このコンテンツでは、Cドライブの直下に、srcというフォルダを作成して、そこにソースコードをダウンロードしている想定で説明しています。

 

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

Cドライブの直下にsrcというフォルダを作成して、そこで下記のコマンドを実行します。

git clone https://github.com/idempiere/idempiere.git

こでれ、下記の場所にソースコードがダウンロードされているはずです。

C:\src\idempiere

 

ブランチの切り替え(メンテナンス用のブランチのチェックアウトする)

上記のコマンドでクローンしたままでは、ワークスペースのブランチは"master"の状態になります。masterのブランチは、iDempiereコミュニティーとしては、次のバージョンに向けての開発用のブランチとの位置づけです。そのため、メンテナンスを行っているブランチに切り替える必要があります。

◆iDempiereのブランチ

  • iDempiere11のブランチ名は、"release-11"です。

git checkout release-11

Mavenのverifyの実行

GitHubからソースコードをクローンしたら、Eclipseで開く前に、Mavenのverifyを実行して、インストールパッケージが問題無く作成できる事を確認して下さい。

mvn verify

Mavenのverifyを実行すると、iDempiereのインストールパッケージが下記のフォルダに作成されます。C:\src\idempiere\org.idempiere.p2\target\products\org.adempiere.server.product

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

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

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

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

ここからは、先にダウンロードしているidempiereのソースコードのフォルダがCドライブのsrcフォルダの直下にあることを前提に説明します。

 

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

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

 

ワークスペースの確認

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

General > Workspaceの設定を開いて、encodingを"UTF-8"、Line delimiterを"Unix"に変更します。

 

JDK17の設定

JDK17を追加します。

 

コンパイラーの設定

java > Compiere で、主にコンパラ―の設定を確認して行きます。

Compiler compliance level:を "17"にします。

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

【技術情報】Tychoのインストールは不要です。

iDempiere ver11からEclipseにTychoのインストールは不要になりました。

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

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

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

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

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

org.idempiere.p2.targetplatform.targetをダブルクリックすると、自動的にターゲットに設定されている色々なjarファイルのダウンロードが開始されます(※Eclipseの右下の処理を行っているプログレスバーに注目して下さい)。この処理は、時間的には結構かかります(目安:10分~30分くらい)。終わるまで、ちょっと一休みして下さい(*´▽`*)。

Eclipseの右下に進捗状況が表示されます。

処理が完了したら、"Set as Active Target Platform"をクリックします。

"Set as Active Target Platform"をクリックすると、また処理が少し入ります。ここが無事終わったらクリーン&ビルドを実行して行きます。

クリーン&ビルドの前に、Project Explorerで、プロジェクトを全選択して、右クリックし、リフレッシュを行っておくのをオススメします。

クリーン&ビルドの実行

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

自動的にビルドをONにすると、ビルドが自動的に実行されます。

 

クリーン&ビルドの実行

クリーン&ビルドを実行して、エラーが出なければ、開発環境の構築は、ひとまず完了です。

後は確認として、iDempiereの初期セットアップを行ってEclipseから起動してみましょう!!

 

クリーン&ビルドを実行しても、Eclipseのエラー表示が消えない場合

この段階でも、Eclisepのエラー表示が無くならないのは比較的よくあります。

そのような場合、下記の対応を行ってみて下さい。

◆【対応1】自動的にビルドがONになっているのを確認した上で、もういちどターゲットプラットフォームの設定を行って下さい。

ターゲット定義を開いて、もういちど、[Update] -> [Reload] -> [set as Active Target Platform(Reload 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プラグインの不具合だと思われます。この事象は、[ターゲット定義(Target Definition)]タブを開いたまま、Eclipseを閉じると発現する事がある様子です。

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

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

 

◆【対応3】エラーになっているプロジェクトの更新

エラーになっているプロジェクトを右クリックして Maven > Update Project..を実行してみて下さい。

 

◆【対応4】最初からもう一度、開発環境を構築する

 いろいろ行ってもエラーが解消しない場合は、そのソースコードはすべて削除して、git clone からやりなおすことも一つの方法です。もう一度構築し直すとすんなりできることもあります。

 その際には、Cドライブ直下にある「ユーザー」フォルダの、{ユーザー名}フォルダの配下にある「.m2」フォルダ内の「repository」フォルダも削除して(※リネームして退避して)試してみて下さい。 

iDempiereのセットアップ

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

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

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

【注意】

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

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

iDempiereの起動

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

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

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

関連するコンテンツ