Cosminexus アプリケーションサーバ V8 Webサービス開発の手引

[目次][用語][索引][前へ][次へ]

11.2 aptコマンド

aptコマンドは,アノテーションを解釈して,追加のJavaコードを生成し,基のJavaコードを含めてコンパイルするJDKのコマンドです。Webサービスの開発では,SEIを起点とした開発をする場合に使用します。Webサービス実装クラスに記述されたアノテーション(JAX-WS 2.1仕様に従って記述)を解釈し,必要なJavaBeanクラスを追加して生成します。

aptコマンドの形式,引数,およびオプションについては,JDKのドキュメントを参照してください。ここでは,JDKのドキュメントで規定されていない内容や,コマンド実行時の注意事項について説明します。

<この節の構成>
(1) 引数に指定するWebサービス実装クラスおよびSEI
(2) 必須オプション
(3) 生成されるファイル
(4) 続行できる軽微なエラーが検出された場合の動作
(5) 異常終了時の対処

(1) 引数に指定するWebサービス実装クラスおよびSEI

aptコマンドの引数には,Webサービス実装クラスおよびSEI(SEIを参照している場合)をそれぞれ1個指定します。Webサービス実装クラスを2個以上指定した場合は,ログにエラーメッセージが出力され,エラーメッセージがaptコマンドに返されます(KDJW61002-E)。ただし,SEIだけ指定した場合などWebサービス実装クラスがない場合は,標準エラー出力とログに警告メッセージが出力され,処理が続行されます(KDJW61001-W)。この場合,JavaBeanクラスは生成されません。

上記以外のSEIおよびWebサービス実装クラスに関する注意事項は,「13.1 JavaからWSDLへのデフォルトマッピング」および「13.2 JavaからWSDLへのマッピングのカスタマイズ」を参照してください。

aptコマンドでは,javax.ejb.Statelessアノテーションの付いたEJBのWebサービス実装クラスを引数に指定した場合,次の警告が出力されます。

警告: プロセッサなしの注釈タイプです: [javax.ejb.Stateless]

(2) 必須オプション

aptコマンドを実行するときは,-classpathオプションおよび-J-Dcosminexus.homeオプションの指定が必須です。それぞれの指定値を次に示します。

-classpathオプション
  • <Cosminexusのインストールディレクトリ>/jaxws/lib/cjjaxws.jar
  • <Cosminexusのインストールディレクトリ>/jaxp/lib/csmjaxb.jar
  • <Cosminexusのインストールディレクトリ>/jaxp/lib/csmjaxp.jar
  • <Cosminexusのインストールディレクトリ>/jaxp/lib/csmstax.jar
  • <Cosminexusのインストールディレクトリ>/CC/client/lib/j2ee-javax.jar
  • <Cosminexusのインストールディレクトリ>/CC/client/lib/HiEJBClientStatic.jar
Windows(x86)の場合
  • < HNTRLib2インストールディレクトリ>/classes/hntrlib2j.jar
  • < HNTRLib2インストールディレクトリ>/classes/hntrlibMj.jar
Windows(x64)の場合
  • < HNTRLib2インストールディレクトリ>/classes/hntrlib2j64.jar
  • < HNTRLib2インストールディレクトリ>/classes/hntrlibMj64.jar

-J-Dcosminexus.home
<Cosminexusのインストールディレクトリ>

注※
<HNTRLib2インストールディレクトリ>の部分は次に示すコマンドの実行結果を指定します。

(3) 生成されるファイル

aptコマンドの実行時に生成されるファイルを次の表に示します。

表11-5 aptコマンドの生成ファイル一覧

項番 Javaコード 内容
1 リクエストbeanクラス 要求メッセージのJavaBeanクラスです。wrapperスタイルの場合に出力されます。
2 レスポンスbeanクラス 応答メッセージのJavaBeanクラスです。wrapperスタイルの場合に出力されます。
3 フォルトbeanクラス フォルトに対応するJavaBeanクラスです。指定したJavaコードでラッパ例外クラスが定義されている場合で,かつフォルトbeanがない場合に出力されます。

ファイル生成時のディレクトリの作成
aptコマンドを実行すると,指定した出力先ディレクトリに,生成されるファイルのパッケージ名に対応するディレクトリが作成され,そのディレクトリにファイルが出力されます。
指定例および出力先を次に示します。
  • コマンド指定例
    apt -d ./output -s ./output/ -sourcepath . com/example/test.java
  • 出力先
    JavaBeanクラス以外のソースファイル,およびコンパイル済みクラスファイルは次のディレクトリに出力されます。
    ./output/com/example/
    ただし,コマンドに指定したJavaコードにJavaBeanクラスがある場合は,JavaBeanクラスのソースファイルおよびそのコンパイル済みクラスファイルはSEIのパッケージのjaxwsサブパッケージに出力されます(パッケージ名をアノテーションでカスタマイズしている場合を除く)。
    ./output/com/example/jaxws/
CosminexusのJAX-WS機能が提供するアノテーションプロセッサでは,Javaコードの出力先ディレクトリがない場合やディレクトリではない場合などで不正な場合,ログにエラーメッセージが出力され,aptコマンドにエラーが通知されます(KDJW61003-E)。
Javaコードの出力先は,aptコマンドの引数に指定した-sオプションの値となります。-sオプションが指定されていない場合は,-dオプションに指定された値となります。-sオプション,-dオプションのどちらも指定されていない場合,カレントディレクトリが出力先となります。

Javadocのヘッダ情報の出力
生成されるファイルでは,Cosminexusに関する情報が,Javadocとしてヘッダ情報に出力されます。

(4) 続行できる軽微なエラーが検出された場合の動作

処理の途中で続行できる軽微なエラーが検出された場合は,警告メッセージが出力され,処理が続行されます。

なお,設定したログ出力レベル(重要度)によって,ログが出力されない場合があります。ログ出力レベルの設定については,「10.1.2 共通定義ファイルの設定項目」を参照してください。

(5) 異常終了時の対処

aptコマンドの実行時にエラーが発生した場合,エラーメッセージが出力され,処理が終了されます。

エラーメッセージが出力された場合,出力されたエラーの要因を取り除き,aptコマンドを再実行してください。表示されたエラーの要因を一つずつ取り除き,正常終了するまで,aptコマンドを繰り返し実行してください。すでにファイルが生成されている場合は,aptコマンドを実行する前に生成されたファイルを削除してください。

なお,設定したログ出力レベル(重要度)によって,ログが出力されない場合があります。ログ出力レベルの設定については,「10.1.2 共通定義ファイルの設定項目」を参照してください。