4.2.6. DuplicateServiceExceptions のデバッグと解決

JAR のサブデプロイメントに対して DuplicateServiceException が発生したり、 JBoss Enterprise Application Platform 6 に EAR をデプロイする時に WAR アプリケーションが既にインストールされているというメッセージが表示された場合、JBossWS によるデプロイメントの処理方法が変更になったことが原因であることがあります。
JBossWS 3.3.0 リリースでは、TCK6 とのシームレスな互換性を実現するため、サーブレットベースのエンドポイントに対して新しいコンテキストルートマッピングアルゴリズムが導入されました。アプリケーション EAR アーカイブに同じ名前の WAR や JAR が含まれている場合、 JBossWS が同じ名前の WAR コンテキストや Web コンテキストを作成することがあります。Web コンテキストが WAR コンテキストと競合し、デプロイメントエラーが発生します。以下の方法の 1 つを用いてデプロイメントの問題を解決します。
  • 生成される Web コンテキストと WAR コンテキストが一意になるよう、JAR ファイルの名前を WAR とは異なる名前に変更します。
  • <context-root> 要素を jboss-web.xml ファイルに提供します。
  • <context-root> 要素を jboss-webservices.xml ファイルに提供します。
  • WAR の <context-root> 要素を application.xml ファイルでカスタマイズします。