[Play1.2]forceオプションを使って依存ライブラリのバージョンを上書く

play1.2.7 × aws-java-sdk 1.8.4の組み合わせの時、AWSのライブラリ内の処理でエラーが発生する。

java.lang.IllegalStateException: Joda-time 2.2 or later version is required, but found version: 2.1
at com.amazonaws.util.DateUtils.handleException(DateUtils.java:141)

Joda-timeのライブラリは2.2以上でなければならないとのこと。dependencies.ymlに依存性書いてplay depsしてみる。

でもエラーは出続ける。よく見たらdepsコマンドの結果出力が次のようになっている。

~ Some dependencies have been evicted,
~
~ joda-time [2.2,) is overriden by joda-time 2.1

joda-timeはplayのコアでも利用されていてそのバージョンが2.1なのでdependencies.ymlに書いた依存性は無視されるようだ。
どうすればいいの。dependenciesにforceオプションつければこっちを優先してくれるとのこと。

これでdepsしてeclipsifyすればおっけー、でもplayのコア機能に影響ないか見極めなければいけないな。

参考:How can I require a library newer than the one required by the Play! Framework?


コメントを残す