これまで2年ほどIvyDEを使ってきて、ずーっと悩まされていたのが
『依存しているjarはダウンロードしてくれても、ソースファイルはダウンロードしてくれない』
という問題。
これでは、例えば依存関係のあるライブラリ上にブレークポイントを置きたい場合、
いちいち面倒な設定をしなければなりません。(デバッガの起動構成を変更してソースパスを追加)
しかしついに。ついに!ひたすら試行錯誤した挙句、とうとう解決しました。その答えとは…
『Maven2用リポジトリに対してはurlリゾルバではなく、ibiblioリゾルバを使う』
でした。
要するに
ivysettings.xmlで、こんな風に書いてはいけないということ。
<url name="mvncentral" m2compatible="true"> <artifact pattern="http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[module]-[revision].[ext]" /> </url>
これは、このように書かなければならない。
<ibiblio name="mvncentral" m2compatible="true" useMavenMetadata="true" root="http://repo1.maven.org/maven2" />
これで、jarに加えてソースも自動的にダウンロードしてくれるようになります。
ibiblioリゾルバって、名前のとおりibiblioのサイトにしか使えないと思っていたのに。。。
むしろこっちを通常は使うべきとか、どういうこと?
ヽ(`Д´)ノプンプン!!
参考資料
http://ant.apache.org/ivy/history/latest-milestone/resolver/ibiblio.html
ここの、useMavenMetadataの解説に注目。