技術メモブログ

技術ネタの備忘録的なブログ。技術ネタ以外にも気になったことをつらつら書きます

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 に記載してある。

第51章 依存関係の管理

 

2.4 の最新だと 51.8.6 に変わってる

Chapter 51. Dependency Management

 

上記の違いはチュートリアルに記載しているが

latest.integration

 モジュールとして、最も成熟した、最も高いバージョンを使用する

latest.release

 モジュールのステータスがリリース(安定?)となった、最も高いバージョンを使用する

 

という感じ(英語得意じゃないから多少間違ってるかも)

 

まとめるとこんな感じだと思う

 

・固定のバージョンを使用したい
 → 使用するバージョンを記載
・とにかく最新のバージョンを使いたい
 → latest.integration
・安定した最新のバージョンを使いたい
 → latest.release 

  

実際には、それぞれを使い分けることになるんだと思う

(全部最新ってのも、それはそれで不安があるような気がする)

 

 

もう一つ付け加えるとバージョンを 2.+ と書くことで、2系統の最新を使うという具合にもできるっぽい

(実際使ってます)