8.1.2 展開ディレクトリ形式のJ2EEアプリケーションのインポート
展開ディレクトリ形式のJ2EEアプリケーションは,J2EEサーバの作業ディレクトリ以下に各コンポーネントのclassファイルやJARファイルを持ちません。DDと展開ディレクトリのパス情報だけを持ち,EARファイルまたはZIPファイルが展開ディレクトリのパスに展開されているJ2EEアプリケーションです。ただし,J2EEアプリケーションに含まれるRARファイルはアーカイブ形式で格納されています。
展開ディレクトリ形式のJ2EEアプリケーションのインポートには,次の二つの方法があります。
-
アプリケーションディレクトリを展開ディレクトリ形式のアプリケーションとしてインポートします。
-
J2EEアプリケーションを展開ディレクトリ形式のアプリケーションとしてインポートします。
- 注意事項
-
展開ディレクトリ形式のアプリケーションをインポートした場合,J2EEサーバの起動処理中またはサーバ管理コマンド実行中に,アプリケーションディレクトリ以下のディレクトリおよびファイルの追加,削除および上書きはしないでください。
展開ディレクトリ形式のアプリケーションのインポート手順を,次に示します。
- 〈この項の構成〉
(1) アプリケーションディレクトリを展開ディレクトリ形式のアプリケーションとしてインポート
次の手順で,J2EEサーバにアプリケーションディレクトリを登録します。
-
アプリケーションディレクトリを作成します。
展開ディレクトリ形式のJ2EEアプリケーションを新規に作成する場合は,アプリケーションディレクトリを作成します。アプリケーションディレクトリの構成については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「18.4.2 アプリケーションディレクトリの構成」を参照してください。
-
アプリケーションディレクトリをインポートします。
上記1.で作成した,アプリケーションディレクトリをJ2EEサーバに登録します。
-
次に示すコマンドを実行して,アプリケーションディレクトリをインポートします。
(a) 実行形式
cjimportapp [<サーバ名>] -a <アプリケーションディレクトリパス>
(b) 実行例
cjimportapp MyServer -a AppDirPath
cjimportappコマンドの詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjimportapp(J2EEアプリケーションのインポート)」を参照してください。
(c) 注意事項
-
リモート環境では実行できません。
-
application.xmlに<alt-dd>タグを指定している,アプリケーションディレクトリを展開ディレクトリ形式で使用できません。
-
インポートするアプリケーションにapplication.xmlがある場合の表示名,およびディレクトリ名の変換規則は次のとおりです。
-
application.xmlの<display-name>タグの値が表示名となります。
-
<display-name>タグの値がない場合,-fオプションに指定したEARファイル名を変換した文字列が表示名になります。
なお,ファイル名に汎用文字と数字以外の文字が含まれている場合,その文字はアンダースコア(_)に置き換えられます。
置換対象の文字が続けて出現する場合は一つのアンダースコア(_)に纏められます。
-
application.xmlの<module>タグに記述されたパス名から拡張子を除いた名称がEJB-JARディレクトリ名,またはWARディレクトリ名となります。
-
-
インポートするアプリケーションにapplication.xmlがない場合の表示名,およびディレクトリ名の変換規則は次のとおりです。
-
-fオプションに指定したファイル名から拡張子を除き,変換した文字列が表示名になります。
なお,半角英数字(0〜9,A〜Z,a〜z),アンダースコア(_)以外の文字はアンダースコア(_)に置き換えられます。
-
ピリオド(.)が最初に現れるファイル名の場合は,ピリオド(.)を除かないで変換した文字列が表示名になります。
-
EJB-JARディレクトリ名の最後は「_jar」,WARディレクトリ名の最後は「_war」となります。
-
-
J2EEサーバ内で,同じディレクトリをアプリケーションディレクトリとするJ2EEアプリケーションがすでにある場合,インポートできません。
-
-dオプションを使用して,EARファイルまたはZIPファイルを展開して作成されたアプリケーションディレクトリが,次の条件のどれかと一致する場合,-aオプションでインポートして展開ディレクトリ形式のアプリケーションディレクトリとして使用できません。
-
EJB-JARのモジュール名が「.jar」で終わっていない。
-
WARのモジュール名が「.war」で終わっていない。
-
拡張子を含まないモジュール名称が,拡張子を含まないほかのモジュール名称と同一である。
-
拡張子を含まないモジュールの名称が,EARファイル内のディレクトリと同一である。
-
-
アプリケーションディレクトリ配下の各種コンポーネントのDDはUTF-8エンコーディングになります。
-
DDのバージョンが古い場合,バージョンを次のように変更します。
表8‒3 DDのバージョンの変更 DD
インポート前のバージョン
インポート後のバージョン
application.xml
1.2
1.4
1.3
ejb-jar.xml
1.1
2.0
web.xml
2.2
2.3
-
展開ディレクトリ形式のJ2EEアプリケーションをインポートする際に,EJB-JARディレクトリとWARディレクトリを除くアプリケーションディレクトリ以下を対象にライブラリJARを検索します。このため,EJB-JARディレクトリとWARディレクトリを除くアプリケーションディレクトリ以下に多数のファイルが存在する場合,インポートに時間が掛かることがあります。
(2) J2EEアプリケーションを展開ディレクトリ形式のアプリケーションとしてインポート
EARファイルまたはエクスポートした実行時情報付きEARファイルを展開ディレクトリ形式でインポートします。
次に示すコマンドを実行して,アプリケーションを展開ディレクトリ形式でインポートします。
(a) 実行形式
cjimportapp [<サーバ名>]-f <ファイルパス> -d <展開ディレクトリパス>
EARファイルまたはZIPファイルの内容は,展開ディレクトリパスに展開されます。
(b) 実行例
cjimportapp MyServer -f App1.zip -d ApplicationDir
cjimportappコマンドの詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjimportapp(J2EEアプリケーションのインポート)」を参照してください。
(c) 注意事項
-
J2EEサーバを起動したユーザに対して,展開先ディレクトリパスに指定したディレクトリの書き込み権限が必要です。
-
application.xmlに<alt-dd>タグを指定している,J2EEアプリケーションを展開ディレクトリ形式で使用することはできません。
-
J2EEサーバ内で,同じディレクトリを展開ディレクトリとするJ2EEアプリケーションがすでにある場合,インポートできません。
-
そのほかの注意事項は,アーカイブ形式のJ2EEアプリケーションのインポートと同じです。アーカイブ形式のJ2EEアプリケーションのインポートについては,「8.1.1 アーカイブ形式のJ2EEアプリケーションのインポート」の注意事項を参照してください。
-
アプリケーションディレクトリ配下の各種コンポーネントのDDはUTF-8エンコーディングになります。