iDempiere6.1と6.2の開発環境の構築

iDempiereはバージョン6.1より、開発環境の構築方法がそれまでの5.1と大きく異なっています。このコンテンツでは、iDempiere6.1以上の環境開発の構築方法を調査及び研究しその成果をまとめています。

Mavenのインストール

iDempiere6.1よりビルドツールがBuckminsterからMavenに変更になっています。そのため、Mavenが使えるようにセットアップします。

まずは上記のサイトにアクセスし、Mavenをダウンロードします。

ダウンロードした圧縮ファイルを解凍し、適当な所に配置してください。ここでは、Cドライブの直下に配置して説明します。

環境変数にパスを設定します。

Mavenのバージョンを確認するコマンドを入力してパスが通っていることを確認してください。

mvn -version

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

ソースコードのダウンロードについては、これまで同様の方法で、行うことが可能です。ダウンロードしたいフォルダでhg cloneを実行してダウンロードしてください。

次のコマンドは、iDempiereの6.1のブランチのソースコードをダウンロードする場合の例です。

hg clone https://bitbucket.org/idempiere/idempiere#release-6.1

ソースコードをダウンロードする際には、リポジトリのURLの後に#をつけてブランチを指定してダウンロードして下さい(※参考【なんでも研究日誌】hg clone)。指定しない場合、Defaultのブランチがダウンロードされる事になると思います。iDempiereコミュニティーではDefaultのブランチは次バージョンへ向けた開発中の機能を含むブランチと定義されています。

ここでは、Cドライブの直下にsrcというフォルダを作成し、idempiere-release6.1の中にソースコードが格納されているものとして説明します。

MavenのValidateの実行

ソースコードが格納されているフォルダもしくはディレクトリ上でMavenのコマンド validateを実行します。

mvn validate

validateは目安として2分~10分程度かかります。

validateが無事通ったらverifyも実行してみて、エラーが出ない事を確認しておく事をオススメします。

mvn verify

MavenのValidateもしくはverifyの実行中にエラーが表示されたら下記のコンテンツを参照してみて下さい。

参考

EclipseとiDempiereのバージョン

iDempiereバージョン Eclipseバージョン
iDempiere6.1 Eclipse4.8(Photon) ※java10対応
iDempiere6.2 Eclipse201812  ※java11対応

Eclipseの初期設定

Eclipseで環境構築を行うにあたり、はじめに1回行う必要があります。

EclipseにTycho Build Toolsをインストールする

メニュー:ヘルプ -> Eclipseマーケットプレース

【補足説明】Tycho Build Toolsはインストールする必要はありません。

Tycho Build Toolsは必ずしも、インストールする必要はありません。iDempiereコミュニティーのWikiにインストールする旨が記載されているので、このコンテンツでもインストール方法を記載していますが、インストールしなくても開発環境は構築する事ができます。

【注意】Tycho Build ToolsはEclipse マーケットプレースからはインストールできません。

2019年4月現在、Tycho Build ToolsはEclipseマーケットプレースからインストールする事ができません。その代わり、iDempiereコミュニティーが新規ソフトウェアのインストールからインストールできるようにしています。

EclipseにMaven Tycho Utilitiesをインストールする

メニュー:ヘルプ -> Eclipseマーケットプレース

【注意】Maven Tycho UtilitiesはEclipse マーケットプレースからはインストールできません。

2019年現在、Maven Tycho UtilitiesはEclipseマーケットプレースからインストールする事ができません。インストールしなくても特に問題は無いようです。

m2e コネクターのインストール

【補足】Tychoを手動でインストールする

上記で案内した方法でインストールできない場合、下記の方法を試してみて下さい。

【iDempiere Lab】Tychoを手動でインストールする

m2e コネクター for maven-dependency-pluginのインストール

【補足】Tychoを手動でインストールする

上記で案内した方法でインストールできない場合、下記の方法を試してみて下さい。

【iDempiere Lab】m2eコネクターを手動でインストールする

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

Javaのコンパイラーの準拠レベルの確認

javaのコンパイラー準拠レベルを設定します。

  • ウィンドウ -> 設定

コンパイラーの準拠レベルを下記のように設定して下さい。

  • iDempiere6.1 -> 10
  • iDempiere6.2 -> 11

下記のような警告が表示されている場合はインストール済みのJREの設定も変更しておいた方が良いと思います。

  • iDempiere6.1 -> java10
  • iDempiere6.2 -> java11

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

開発環境のセットアップ時に自動的にビルドがONになっていると、処理に時間がかかる場合があるとのことなので、自動的にビルドをOFFにしておきます。

ワークスペースにプロジェクトをインポート

ワークスペースは、必ずソースコードのある場所にして下さい!!

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

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

インポートしたorg.idempiere.p2.targetplatformプロジェクトの中に、org.idempiere.p2.targetplatform.targetというファイルがあるのでダブルクリックします。

org.idempiere.p2.targetplatform.targetファイルをダブルクリックした段階で、処理が開始されますので、その処理が終わるまで見守ります。処理は思いのほか時間がかかります。目安としては5分~30分ほどでしょうか…。

もし処理が開始されない場合には、次の手順となるターゲット定義の"Set Active Target Platform"のクリックを行ってください。

次にorg.idempiere.p2.targetplatform.targetのターゲット定義の"Set Active Target Platform"をクリックします。

無事終了すると、下記のように"プラグイン使用可能(plug-ins available)"と表示されます。

ターゲットプラットフォームの設定でエラーになった場合の対応

プラグイン使用可能(plug-ins available)とならなかった場合の対応をいくつか下記に列挙しておきます。トラブルシューティングの参考にして下さい。

◆エラーもしくは警告がでた場合の基本的な対処方法

"Set Active Target Platform"をクリックしたあとで、下記のように警告が出ていることがあります。このような場合、その警告をクリックし、"再ロード"ボタンを押して再ロードしたあとで、"Reload Target Platform"を押して処理が順調に完了すると、エラーもしくは警告が解消されます。

◆sourcefogeのサイトに問題がある場合(iDempiere6.1のみ)

sourceforgeのサイトに問題があり、ターゲットプラットフォームの設定でエラーになる時があります、そのような場合はミラーサイトを指定して、再度実行してみてください。

※iDempiere6.2からはsourceforgeのサイトは使用していませんのこの情報は関係ありません。

クリーン&ビルドの実行

リフレッシュ

念のため、"ctrl+Aで"すべてのパッケージを選択し右クリックしてリフレッシュしておきます。

クリーン&ビルド

クリーン&ビルドを実行して、エラーがなくなれば開発環境の構築は終了です。

よくあるビルドエラー

ビルド・パスが不完全であるため、プロジェクトはビルドされませんでした。●●●のクラス・ファイルが見つかりません。ビルド・パスを修正してから、このプロジェクトをビルドして下さい。

型●●●を解決できません。必要な.classファイルから間接的に参照されています

このエラーは、私の環境だけかもしれませんが、比較的頻繁に遭遇します。同じようにクリーン&ビルドしても、表示される時とされない時があります。そして一度消えても、次のクリーン&ビルドで表示される事もあります。経験的に、org.adempiere.baseプロジェクトとorg.idempiere.fitness.serverプロジェクトでよくエラーがでます。

このエラーが発生した場合は、"プロジェクト -> 自動的にビルド"をONにして、"ターゲット定義"を"更新"したり、"再ロード"したりすると、その後で自動的にビルドが実行されエラーが消える事がよくあります。

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

それでもエラーが消えない事があるかもしれません(T_T)。その場合、メニュー: ウィンドウ -> 設定 を開いて、Java -> コンパイラー -> ビルド で「ビルド・パス・エラーの発生時にビルド」を中断をOFFにして、「不完全なビルド・パス」と「循環依存関係」を"警告"に設定して下さい。

それでもエラーが消えない事があるかもしれません(T_T)。そのエラーがorg.idempiere.fitness.serverであれば、無視して問題ありませんので、エラーを右クリックして削除して下さい。※削除しなくても、iDempiereを起動する事ができると思います。

org.adempiere.baseのエラーであれば無視できないので、一度クラスファイル(.class)を削除してみて下さい。org.adempiere.baseプロジェクトのクラスファイルは、targetフォルダのclassesフォルダの中にあります。

クラスファイルを削除した後で、再度ターゲット定義を更新して、自動ビルドが行われると、エラーが消える事があります。

Error copying artifact from ●●●

クリーン&ビルドを実行するとError copying artifact form ●●●とエラーが出る時があります。このエラーは、ターゲット定義を更新して、自動ビルドが実行されるとほぼ消えます。

【ポイント】エラーの解消はターゲット定義の更新で!!

通常はクリーン&ビルドを実行してエラーを解消したくなりますが、経験上クリーン&ビルドを実行しても、なかなかエラーは解消してくれません。私的におススメのエラー解消方法は、"自動的にビルド"をONにしておいて、ターゲット定義を"更新"または"再ロード"もしくは、"Reload Target Platform"を実行し、その後で自動的に行われるクリーン&ビルドでエラーで解消させる方法です。

iDempiereのセットアップ

あとはこれまで同様に、実行構成で、Eclipseアプリケーションのinstall.appを実行して初期設定を行えば、開発環境の構築は終了です。これで、iDempiereをEclipseから起動することができます。

参考サイト