e Builder での開発の流れ¶
概要¶
本項では e Builder を利用した際に、アプリケーションを開発する流れについて説明します。
開発の流れ¶
e Builder が提供する機能は、アプリケーション開発における「製造」から「ユニットテスト」工程を支援します。具体的には、intra-mart Accel Platform に組込みができる「ユーザモジュール」を作成する機能から構成されます。開発者が e Builder を利用する一連の流れは以下のとおりです。
- ユーザモジュールを作成するための「モジュール・プロジェクト」を作成します。
- モジュール・プロジェクトに対して各開発モデルを選択してプログラムを開発します。
- 開発の完了後、ユーザモジュールとしてIMMエクスポート(immファイルの出力)を行います。
作成されたユーザモジュールは、結合試験のフェーズにおいてIM-Jugglingでwarを作成する際に設定を行います。
Jugglingプロジェクト内にあるjuggling.imをIM-Juggling Editorで開きます。
「ユーザモジュール」タブを選択し、右上にある「+」のアイコンをクリックし、出力したimmファイルを選択します。
ユーザモジュールを設定後、必要に応じてユーザモジュールに対する依存モジュールを設定し、エラーメッセージが表示されないようにします。
上記の操作でwarにユーザモジュールを含めるための設定は完了です。最終的にwarファイルを作成する方法に関しては「intra-mart Accel Platform / セットアップガイド」の「WARファイルの作成」を参照してください。
モジュール・プロジェクトの構成¶
e Builder で作成するモジュール・プロジェクトの構成は以下のとおりです。下の画像は作成後のモジュール・プロジェクトをパッケージ・エクスプローラーで表示した場合の図です。開発者は作成したアプリケーションのリソースを以下の場所に配置して、モジュール・プロジェクトを開発していきます。モジュール・プロジェクトでは各用途に対して、パーティショニングの利用を以下の想定しています。
パーティショニング 説明 main そのモジュールの主たるコードやリソースを配置します。 test テストを行うためのコード・リソースを配置します。 また、モジュール・プロジェクトでは各パーティショニングに対して、それぞれコードやリソースを配置するためのディレクトリを用意してあります。各ディレクトリに対して、細かいプログラムコードやリソースを以下の表に沿って配置を行っていきます。
ディレクトリ 想定用途 対象例 war展開後の配置場所 generated 自動生成されたJavaファイルを格納します。 *.java WEB-INF/libのjarファイル内 java Javaファイルを格納します。 *.java WEB-INF/libのjarファイル内 resources Javaファイル以外でプログラム中に利用するファイルを格納します。 *.properties、*.xml WEB-INF/libのjarファイル内 conf モジュールの動作を制御する設定ファイルを格納します。 *.properties、*.xml WEB-INF/conf配下 jssp スクリプト開発用のソースを格納します。 *.html、*.js WEB-INF/jssp配下 plugin プラグインとして利用する設定ファイルを格納します。 *.properties、*.xml WEB-INF/plugin配下 public Webコンテンツで静的コンテンツを格納します。 (補足) *.html、*.css、*.swf 等 WARを展開したフォルダ配下 schema 設定ファイルに関するXMLスキーマファイルを格納します。 *.xsd WEB-INF/schema配下 storage/public StorageのPublicStorageにて管理されるファイルを格納します。 *.* storageに格納する全ファイル %ストレージのパス%/storage/public配下 storage/system StorageのSystemStorageにて管理されるファイルを格納します。 *.* storageに格納する全ファイル %ストレージのパス%/storage/system配下 webapp Webコンテンツで動的コンテンツを格納します。 *.jsp、WEB-INF/に配置するファイル diconファイル等 WARを展開したフォルダ配下 (補足1) Juglingビルドウィザードで、「静的ファイル出力」を行った場合に出力対象になるディレクトリです。
コラム
サードパーティのライブラリを利用したい場合、src/main/webappの配下に「WEB-INF/lib」という階層でフォルダを作成し、そこにライブラリを配置してください。その後、プロジェクトのビルドを行った後、プロジェクトを一度クローズして開きなおすことによって配置したライブラリがクラスパスに通されます。 e Builder プロジェクトでは、Storageのフォルダは、PublicStorageとSystemStorageをサポートします。Storageの仕様については、各フレームワークのプログラミングガイドの「Storage」を参照してください。 e Builder で作成されたプロジェクトには、ユーザ定義モジュールを作成するために必要な2つのファイルを配置しています。もしこれらのファイルがなくなった場合、e Builderで支援する機能の動作に影響を及ぼします。下記のリンクにはそれぞれのファイルがなくなった場合の対処方法について記述しています。
.ebuilder-export.xml¶
プロジェクトから .ebuilder-export.xml を削除してしまった場合、以下の手順で復旧してください。また、このファイルの有無の確認はナビゲーター・ビューで表示することによって確認できます。
プロジェクト直下に「 .ebuilder-export.xml 」を作成してください。
以下のフォーマットの記述を .ebuilder-export.xml にコピーしてください。
<?xml version="1.0" encoding="UTF-8" standalone="no"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>${group_id}</groupId> <artifactId>${artifact_id}</artifactId> <packaging>im_module</packaging> <version>${version}</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <!-- configure for lifecycle --> <plugin> <groupId>jp.co.intra_mart.maven</groupId> <artifactId>lifecycle-plugin</artifactId> <version>1.0.0</version> <extensions>true</extensions> </plugin> <!-- configure for adding generated source folder --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.7</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>${basedir}/src/main/generated</source> </sources> </configuration> </execution> <execution> <id>add-test-source</id> <phase>generate-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>${basedir}/src/test/generated</source> </sources> </configuration> </execution> </executions> </plugin> <!-- configure for compiler --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>${project.reporting.outputEncoding}</encoding> <useIncrementalCompilation>false</useIncrementalCompilation> </configuration> </plugin> <!-- configure maven-jar-plugin version for mac --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <groupId>jp.co.intra_mart.maven</groupId> <artifactId>sample-build-plugin</artifactId> <version>1.0.0</version> <dependencies> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> </dependency> </dependencies> </plugin> <plugin> <groupId>jp.co.intra_mart.maven</groupId> <artifactId>archiver-plugin</artifactId> <version>1.0.0</version> <dependencies> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> </dependency> </dependencies> </plugin> </plugins> </build> </project>以下の文字列を、プロジェクト作成時に入力した内容に合わせて記述を行ってください。
${group_id} プロジェクトのグループID ${artifact_id} プロジェクトのショートモジュールID(プロジェクト名) ${version} プロジェクトのバージョン番号