LoginSignup
0
2

More than 5 years have passed since last update.

Mavenってやれることはなんとなくわかっているが、しっかりやれることを調べてみる

Last updated at Posted at 2018-02-11

Mavenってなんだ

Mavenをぐぐってみると

Apache Maven(アパッチ メイヴン/メイヴェン)は、Java用プロジェクト管理ツールである。Apache Antに代わるものとして作られた。Apacheライセンスにて配布されているオープンソースソフトウェアである。
https://ja.wikipedia.org/wiki/Apache_Maven

プロジェクト管理ツールで俺がわかるわけねえだろう(゚Д゚)
もうちょい調べてみる。

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
https://maven.apache.org/index.html
Apache Mavenはプロジェクト管理と可視化を補助するソフトウェアである。MavenはPOM(Project Object Model)のコンセプトに基づいて、中央集権的にJavaプロジェクトのビルドや報告、文書化を管理できる。

POMって考え方がキーなのか。POMって聞いたことないけど何だろうか?

What is a POM?
A Project Object Model or POM is the fundamental unit of work in Maven. It is an XML file that contains information about the project and configuration details used by Maven to build the project.
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
POMとはMavenの基本的な作業単位に該当する。POMはMavenがプロジェクトをビルドするために使用するプロジェクトと詳細設定の情報を含むXMLファイルのことを指す。

つまりXMLファイルが作業単位になってJavaプロジェクトをビルドから管理できるということでよろしい?管理できるって実際何ができるのか抽象的でわかりづらい・・・。

Mavenでできること

Maven’s Objectives
Maven’s primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:
 ・Making the build process easy
 ・Providing a uniform build system
 ・Providing quality project information
 ・Providing guidelines for best practices development
 ・Allowing transparent migration to new features
https://maven.apache.org/what-is-maven.html
 
Mavenは開発者が最短時間で開発作業の全容を把握できることを第一の目的としている。目的の達成のためユーザがハマりがちな以下に対応する。
 ・構築プロセスの簡略化
  開発者が楽できるように情報を遮断してMavenが裏でサポートする。
 ・均一なビルドシステムの提供
  Mavenを使うとPOMとMavenを使ったすべてのプロジェクトで共有できるプラグインで構築できる。
  一旦Mavenプロジェクトがどのように構築されるかを理解すれば、横串で他のMavenプロジェクトの構築方法が理解できて多くのプロジェクト膨大な時間を節約できるようになる。
 ・高品質なプロジェクト情報の提供
  色々なプラグインを提供しているのでPOMに紐付いて様々な情報が手に入れられる。
 ・ベストプラクティス開発のためのガイドラインの提供
 ・新機能への透過的なマイグレーション 
  Maven自体に加えられた変更を利用できるように、Mavenクライアントの簡単なアップデート方法を提供する。

所感

個々まで読んでやっとMavenのイメージが湧いた。。。
PJが色々Javaプロジェクトで管理しなきゃいけないところ(構築やらドキュメンテーションやら)をPOMというかMavenを経由して中央集権的に管理できるということか。
ただの適当翻訳文乗っけただけorz

0
2
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
0
2