weblogic.xmlのprefer-web-inf-classesをtrueにしたらハマった・・

 前に作ったWeblogicのWebアプリで
JAX-RSを使ってみる
weblogicよりもアプリケーションモジュールに入れるライブラリを優先させたい事情があり、weblogic.xmlにprefer-web-inf-classesのtrueを追加してみたところ、これまで問題無かったのが、デプロイ出来ない状態に。。
ログには下記のエラーが出ています。

<2016/07/26 12時58分59秒 JST> <Error> <HTTP> <AUTH-DEV01> <AdminServer> <[ACTIVE] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1469505539381> <BEA-101216> <Servlet: "JAX-RS Servlet" failed to preload on startup in Web application: "web-ap".
java.lang.NoClassDefFoundError: Could not initialize class com.sun.proxy.$Proxy121

どうも、JAX-RSに関して何らかの問題が発生しているようなのですが、JAX-RSに関して明示しているライブラリはpom.xmlに書いた下記のみです。

    <dependency>
	  <groupId>com.sun.jersey</groupId>
	  <artifactId>jersey-core</artifactId>
	  <version>1.19</version>
    </dependency>

いろいろ試行錯誤した結果、上記で指定したものよりweblogicライブラリが優先的に使用されていて、1年間問題無かったのが、ライブラリの優先順位を変えた事によって、問題が発生したようなのです。最終的にcom.sun.jerseyについて上記のpomをジャージーのバンドルセットに変える事で解消しました。

    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-bundle</artifactId>
      <version>1.19.1</version>
    </dependency>

いや、びっくりしました。。