Javaアプリ開発者のローカルPCに、ファイル展開するだけで開発環境をできるようにするための開発キットの準備について記載します。
★随時更新予定★
背景
Java/JavaEE等を使ったアプリ開発では、所定の手順に従いeclipse, APサーバ、subversin/git等のミドルウェアをインストールし、それぞれの設定を行うことが多い。
このような作業は、手順が複雑になり時間がかかる場合もあり、手順を間違えた場合は期待した通りの環境にならないことがある。
開発者がより簡単・確実に開発環境を構築できるようにするために、次の環境構築方法が考えられる。
- リモートサーバまたはローカルPC上の仮想マシンに開発環境を構築し、そこに接続して開発する。
- ローカルPCに開発環境を構築し、開発する。
私が経験してきた案件では、新規開発案件が多く、そのためのメンバを一時的に集めて開発がスタートします。各メンバには、CPUやメモリの条件が良いPCが割り当てられるため、ローカルPCの力を使った後者の方法が採用されます。
ここでは、後者のローカルPCに開発環境を容易に構築するための開発キットの準備方法について記載します。
なお、複数案件の保守を複数メンバで対応する場合、各メンバのローカルPCに全の案件の環境を準備するのは難しいことが多いため、このような状況では前者の方法を推奨します。
前提や注意点
- ここでいう「開発キット」とは、開発に必要となるIDEやツールを一纏めにしたパッケージ(フォルダ・ファイル一式)です。
案件の要件・要求を把握し、開発標準化担当者がこの開発キットを準備する想定です。
本格的な開発が開始されるまでに、開発標準化担当者が準備した開発キットを、開発者が参照可能な場所に配置します。
開発者達は公開された手順書等に基づいて、この開発キットをローカルPCにダウンロード・展開し、開発を開始する想定です。 - この開発キットを開発者に導入してもらうための手順書を別途作成する必要があります。
- 開発キットの保守や、バージョンアップ(新版作成)時の参考として、設定内容を記録しておくことをお勧めします。
- Java/JavaEEアプリの開発を想定しており、次のミドルウェアを前提とします。
- IDE環境: OpenJDK1.8 + Eclipse Photon(4.8)
- ビルドツール: maven
- APサーバ: JBoss EAP7
- バージョン管理システム: git
- 開発PCとしてWindows10(64ビット)を想定しています。経験的にPCのスペックはCore-i5、メモリ8GB以上を推奨です。
- プロジェクト用のgitリポジトリが構築されていること。
- 開発キットの展開を容易にするために、すべてファイルをCドライブ直下の開発キット用フォルダに配置する。
開発キットを準備する環境によっては、既定でJava/APサーバ実行環境の参照先、設定ファイルの保存先が、ベースフォルダの外になる場合がある。結果として、開発キット展開時に設定内容の消失やAPサーバ実行時エラーが発生する。
そのため、後述の手順では依存ミドルウェアや設定内容をこのフォルダ内で完結できるようにする。
ここではベースフォルダを(“C:\jee7devkit”)とするが、特定の開発案件向け固定フォルダ名を変更すること。 - JBoss関連の開発をするなら、JBoss Developer Studioの方が適切かもしれないが、ここではより汎用的なJava/JavaEE開発を想定しているので、eclipse(+JBossプラグイン)を使用する。
- 以降の手順で想定するフォルダ構成は次の通り。経験的に、1~2GB程度のサイズになります。
- C:\jee7devkit
- java-1.8.0-openjdk-1.8.0.181-1.b13.redhat.windows.x86_64
- eclipse
- workspace
- .m2
- C:\jee7devkit
- 開発キットを配布するために、windowsやlhaplusで圧縮・解凍すると一部のファイルが正常に解凍できず、設定が消失する場合があります。正常に圧縮解凍できるツールを採用するか、圧縮しない方法を検討してください。
開発キットの構築
Eclipseのインストール
Eclipseの実行に必要なJDKをインストール後に、Eclipseをインストールする。
- OpenJDKを展開する。
- 下記のURLで「Accept License Agreement」をチェックし、Windows版のOpenJDK9をダウンロードする。
Red Hat Developer | OpenJDK Download - ダウンロードしたzipファイル(java-1.8.0-openjdk-1.8.0.181-1.b13.redhat.windows.x86_64.zip)を任意の場所に解凍し、ベースフォルダに移動する。(結果として、”C:\jee7devkit\java-1.8.0-openjdk-1.8.0.181-1.b13.redhat.windows.x86_64″ができる。)
- 下記のURLで「Accept License Agreement」をチェックし、Windows版のOpenJDK9をダウンロードする。
- Eclipseを展開する。
- Eclipse Photon(4.8)のJava EE開発用パッケージ(zip)をダウンロードする。
Eclipse IDE for Java EE Developers - ダウンロードしたzipファイル(eclipse-jee-photon-R-win32-x86_64.zip)を任意の場所に解凍し、ベースフォルダに移動する。(結果として、”C:\jee7devkit\eclipse”ができる。)
- Eclipse Photon(4.8)のJava EE開発用パッケージ(zip)をダウンロードする。
- pleiadesでEclipseを日本語化する。
setup.exeで自動設定することもできますが、失敗する場合があるので昔からのplugins, featuresフォルダの上書き方法(pleiades-win.zip付属のreadme.txtを参照のこと。)を採用しています。- Eclipse日本語化プラグイン(Pleiades プラグイン)をダウンロードする。
Pleiades – Eclipse プラグイン日本語化プラグイン
※上記のEclipseパッケージを日本語化する想定なので”Pleiades All in One”ではなく、”Pleiades プラグイン・ダウンロード”からWindows用zipをダウンロード - ダウンロードしたzipファイル(pleiades-win.zip)を任意の場所に展開する。
- 展開したフォルダのpluginsとfeaturesフォルダを、eclipseの同フォルダ(“C:\jee7devkit\eclipse”にあるplugins, featuresフォルダ)に上書きする。
- eclipse.iniの編集が必要だが、他の設定と纏めて編集するので、ここでは何もしない。
- Eclipse日本語化プラグイン(Pleiades プラグイン)をダウンロードする。
- eclipse起動オプションの構成
C:\jee7devkit\eclipseにあるeclipse.iniを開き、下記の強調行の内容を追加・編集する。(編集前に念のためeclipse.ini.orgというファイルにコピー)
[code title=”eclipse.ini” highlight=”1,2,18,19,28,29″]-vm
C:/jee7devkit/java-1.8.0-openjdk-1.8.0.181-1.b13.redhat.windows.x86_64/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar
–launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.700.v20180518-1200
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
–launcher.defaultAction
openFile
–launcher.defaultAction
openFile
–launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=C:\jee7devkit\workspace
-Duser.home=C:/jee7devkit
-Dfile.encoding=utf-8
-XX:+UseG1GC
-XX:+UseStringDeduplication
–add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=1.8
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx1024m
–add-modules=ALL-SYSTEM
-Xverify:none
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
[/code]- -vm: 開発キット内にあるJDKを指定する。なお、-vmにjavaw.exeではなくjava.exeを指定してしまうと、次のエラーがDOSプロンプト上に表示されるので注意。
“org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized. Will retry after the state location is initialized. …” - -Dosgi.instance.area.default: 使用するワークスペースフォルダを固定する。gitの利用手順書等で保存先を任意にしてしまうと混乱するので、固定パスのワークスペースに保存する前提とする。
- -Duser.home: “.eclipse”等の設定情報を保存するフォルダを開発キット内に変更する。設定情報を開発キット内に含めないと、開発キット展開時にeclipse設定が初期化されて状態になってしまい、展開後に再設定が必要になってしまうため。
- -Dfile.encoding: eclipseの既定のエンコーディングをUTF-8とする。(既定ではMS932)
- -Xms, -Xmx: 既定で変更する必要する必要はないと思うが、ビルド等のeclipse動作が遅い場合は、APサーバ等の他ツールへのメモリ割り当ても考慮の上、チューニングする。
- -Xverify, -javaagent: Pleiadesの設定手順に記載された内容
- -vm: 開発キット内にあるJDKを指定する。なお、-vmにjavaw.exeではなくjava.exeを指定してしまうと、次のエラーがDOSプロンプト上に表示されるので注意。
- C:\jee7devkit\eclipse\eclipse.exeを実行する。
ワークスペースの選択画面で、ワークスペースの場所が”C:\jee7devkit\workspace”になっていることを確認する。「この選択をデフォルトとして使用し、今後この質問を表示しない」をチェックし、起動ボタンをクリックする。
エラーメッセージが表示されずにeclipseが起動すること。
eclipseの基本設定
[ヘルプ]-[Eclipseマーケットプレイス]を選択し、次のプラグインをインストールする。- JBossツール: WildflyとEAP用のサーバプロファイルを使用するため。(インストールしないとサーバ追加時に適切なバージョンのプロファイルを指定できないため。)
- Checkstyleプラグイン: チェックスタイルを使って品質確保する運用を想定しているため。(プロジェクト毎にCheckstyleをアクティブ化する必要があります。)
- プロパティ-エディター: プロパティファイルを日本語編集するため。
- (gitクライアント): 既にインストール済みなので対応不要
eclipseの設定を変更する。
※表中の「設定ウインドウ」とは、[ウインドウ]-[設定]で表示されるウインドウのことです。
設定内容 | 設定手順 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ソースコート等のeclipseで取り扱うファイルの既定のエンコーディングをUTF-8とする。 | 設定ウインドウの[一般]-[ワークスペース]を開き、テキストファイルエンコーディングがUTF-8になっていること。 | ||||||||||||||
フォントを等幅フォントに変更する。 | 設定ウインドウの[一般]-[外観]-[色とフォント]を開き、[基本]-[テキスト・フォント]を選択し[編集]をクリックする。 フォント名でMSゴシック等の等幅フォント、9ptを選択し、[OK]をクリックする。 [適用]をクリックする。 | ||||||||||||||
HTML, XMLエディターの見づらい斜体フォントをやめる。 | 設定ウインドウの[Web]-[HTMLファイル]-[エディター]-[構文の色指定]を開き、[構文要素]の[属性値]を選択し[斜体]のチェックを外す。 同様に、
APサーバの設定APサーバ関連のフォルダや設定ファイルを作成する。
A. Wildflyを使用する場合:
B. EAP7を使用する場合:
案件固有の設定
|