久しぶりにiDempiere5.1をビルドしたら、いくつか思いがけないエラーに遭遇したので、その対応方法について、調査及び研究し、その成果をまとめています。
Eclipse上でサーバーを起動する時のエラー
Eclipseの「実行構成」もしくは「デバッグの構成」からiDempiereを起動すると、下記のエラーに遭遇しました。
org.mortbay.jasper.apache-jspのバージョン問題
◆エラー内容
- org.eclipse.jetty.apache-jsp
-
- 制約がありません: インポート・パッケージ: org.apache.jasper.servlet; version="[8.5.9,9.0.0)"
- 制約がありません: インポート・パッケージ: org.apache.juli.logging; version="[8.5.9,9.0.0)"
- org.mortbay.jasper.apache-jsp
-
- 制約がありません: インポート・パッケージ: org.servlet; version="4.0.0"
- 制約がありません: インポート・パッケージ: org.servlet.annotation; version="4.0.0"
- 制約がありません: インポート・パッケージ: org.servlet.descriptor; version="4.0.0"
- 制約がありません: インポート・パッケージ: org.servlet.http; version="4.0.0"
- 制約がありません: インポート・パッケージ: org.servlet.resources; version="4.0.0"
◆エラー原因
これは、ダウンロードしてくるorg.mortbay.jasper.apache-jspが、新しいバージョンになっているためで、古いバージョンを使用する必要があります。
2020年1月現在では、バージョン9.0.29のjarがダウンロードされてきます。
これを、バージョン8.5.24のjarファイルに変更すると、エラーが解消されました。
◆エラーの解消方法
Buckminsterでダウンロードされた各種jarファイルは、%ワークスペース%targetPlatform -> pluginsの中にありますので、古いバージョンのorg.mortbay.jasper.apache-jspのjarファイルに置き換えて下さい。
org.mortbay.jasper.apache-jspのjarファイルがあるMavenリポジトリ
iDempiere5.1の場合は、8.5.24のバージョンであれば、問題なくビルドできるでしょう!!
apache-jsp-8.5.24.jarファイルがダウンロードされますので、「org.mortbay.jasper.apache-jsp_8.5.24.jar」にリネームして%ワークスペース%targetPlatform -> pluginsのフォルダの中に入れます。
Eclipseを再起動して、クリーン&ビルドを実行すれば、問題なくサーバーの起動ができるようになっているのではないかと思います。
その他
ほかにも、下記に関連するエラーが出る事があるかもしれません。