SpringFramework-3.2.0がリリースされてました。
というわけでサッソク依存関係を解決してみたのですが…
spring-asm-3.2.0.jarがどこにも無い。
maven centralどころか、SpringFramework公式リポジトリにも無い。何故…?
というわけで、埒があかないのでChangeLogを見たんです。ChangeLog。
http://static.springsource.org/spring/docs/3.2.x/changelog.txt
そしたらこういうことが書いてあるわけですよ。
Changes in version 3.2 M2 (2012-09-11) -------------------------------------- *1355841086* inlined ASM 4.0 into spring-core, removed spring-asm subproject and jar (SPR-9669) *1355841087* inlined CGLIB 3.0 into spring-core, eliminating external dependency (SPR-9669) ...
えーマジっすか。いいんだろうかそれ…
と思ったら、
ははあ、現在主流のcglib-2.2系とバッティングするわけですな、これ。
cglib3はASM4をベースにしており、旧世代のcglib2(ASM3がベース)とはバイナリ互換性がありません。
だから仕方なく、ソース丸パクリでspring-coreに全部突っ込んだ模様です。
詳しくはこちら。
https://jira.springsource.org/browse/SPR-9669
というわけで
僕も、コレまで使っていたcglib2とおさらばして
import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy;
こんにちはcglib3、ということになりました。
import org.springframework.cglib.proxy.Enhancer; import org.springframework.cglib.proxy.MethodInterceptor; import org.springframework.cglib.proxy.MethodProxy;
JUnitテストを動かした限りでは、特に問題なく動作している模様です。
おおっと!
xworkはasm3系をモロ使ってるので、struts2ユーザーはasm.jarへの依存関係を残す必要があるようです。