4.2.6. DuplicateServiceExceptions のデバッグと解決

JAR のサブデプロイメントに対して DuplicateServiceException が発生したり、JBoss EAP 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 ファイルでカスタマイズします。