9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Java屋さんのMaven使うのなんでを考察する

Posted at

これはなんですか?

タイトル。

この記事を読むとよいかもしれない対象者は「なんでMavenとGradleでビルドツールが2分化されているのか」について疑問に思っている人に対してJava屋さんが一つの考察を開示するものです。

ここ2年間で5回位聞かれたことなので、記事になるかなーと、考えを記すことにしました。

本題

メリット。

  1. 昔から使ってるのでやりたいことの9割以上のことがMavenでかんたんにできてしまう
  2. 資産として溜め込んだプラグインの使い方をGradleに移植するのが面倒
  3. Gitで公開していあるそこそこ歴史あるプロジェクトはビルドツールにMavenを使っていることが多く、絶滅するおそれが少ない
  4. やりたいことのプラグインも探せばだいたい出てくる

デメリット。

  1. XMLだるい
  2. 初心者がとっつきにくい
  3. Java以外の言語だと最適ではない場合がある

長くJavaと寄り添ったツールとして発達し、支持されているため、その世界最強ですが、kotlinやgroovyのプロジェクトではgradle使うべきかなーとも思います。

Gradleの自由度は魅力だと思いますし、今から始める人はGradleでよいのではないでしょうか。

敢えてXMLで読みづらい Maven を無理して採用することもありませんし、他の人がプロジェクトを構築した結果、ビルドツールがGradleだったとしても、全てを赦し小姑のように build.gradle の手直しを始めるくらいには gradle 使えるといいでしょう。

参考までに、手元のプロジェクトで使っている dependencies のビルドツールをいくつかピックアップ

Project Build Tool
OpenJDK Make
Spring Boot Gradle
Jackson Maven
AWS SDK Maven
Flyway Maven
Openapi Generator Maven
Swagger Maven

というわけでMake最強。
解散!!

参考記事

MavenやGradleの歴史については、こちらの方が執筆された記事によくまとまっております、併せてご参照ください。
https://qiita.com/MahoTakara/items/ff73338e218b656bedfa

Maven to Gradle コンバータありましたが、dependenciesしか移してくれない・・
https://sagioto.github.io/maven2gradle/

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?