Gradle の依存関係のバージョンを指定するときの方法
Gradle で依存関係のバージョンを指定する時の書き方として一般的なのは、以下のような書き方だと思う
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.3'
または
'org.apache.logging.log4j:log4j-api:2.3'
}
これはどっちも同じ意味
グループ名、名前、バージョンを各々指定する書き方
ただここで面倒になってくるのは、モジュールのバージョンが固定ということ
モジュールの使用バージョンが開発条件で、決まっているとかなら問題はないが、常に最新を使いたいといった場合は、バージョンが変わるたびに変更しないとならない
これはとても面倒
しかし以下のように記述することで、バージョンが変われば自動的に DL してくれる
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: 'latest.integration'
または
'org.apache.logging.log4j:log4j-api:latest.release'
}
これについては Gradle のチュートリアル 51.8.4 に記載してある。
2.4 の最新だと 51.8.6 に変わってる
Chapter 51. Dependency Management
上記の違いはチュートリアルに記載しているが
latest.integration
モジュールとして、最も成熟した、最も高いバージョンを使用する
latest.release
モジュールのステータスがリリース(安定?)となった、最も高いバージョンを使用する
という感じ(英語得意じゃないから多少間違ってるかも)
まとめるとこんな感じだと思う
・固定のバージョンを使用したい
→ 使用するバージョンを記載
・とにかく最新のバージョンを使いたい
→ latest.integration
・安定した最新のバージョンを使いたい
→ latest.release
実際には、それぞれを使い分けることになるんだと思う
(全部最新ってのも、それはそれで不安があるような気がする)
もう一つ付け加えるとバージョンを 2.+ と書くことで、2系統の最新を使うという具合にもできるっぽい
(実際使ってます)