今回は「pom.xml」について学んで行きたいと思います。
学ぶ理由
Mavenというプログラムを使用してJavaのプロジェクトをデプロイを行う為に、必要な知識でありpom.xmlの内容が分からないと先に進まないと考えたからです。
※Mavenはビルドツールと呼ばれるものでソースコードやファイルをソフトウェアとして実行できるようにする手段。
pom.xmlについての簡単な概念
まずはpom.xmlについて何なのか?を簡単に知っておきましょう。
pomとは、「Project Object Model」の略
google翻訳では「プロジェクトオブジェクトモデル」と出ます。
そのままですね。
プロジェクトをオブジェクトとして扱うというような意味になるのでは無いかな?と思います。
pom.xmlファイルの内容としては、プロジェクトに関する色々な情報(構成ファイル、関係する開発者とその役割、欠陥追跡システム、組織とライセンス、プロジェクトが存在するURL、プロジェクトの依存関係、その他要素)が書かれています。
※xml(eXtensible Markup Language)とは、種類の異なるソフトウェア間でデータを交換する際のファイル形式で 視覚表現や文章構造などを記述するためマークアップ言語で書かれているファイル。
実際に作成されたpom.xml
javaのMVCプロジェクトのMavenのインストール時に作成された、
実際のpom.xmlファイルです。
初めてみたので、
訳がわかりませんでしたが一個ずつ調べて見てみるとなんとなく意味が分かってきます。
内容を表にまとめてみました。
内容
書いてある内容を具体的に見ていきます。
project | 最上位の要素(ルートタグ) |
modelVersion | POM のバージョン |
groupId | プロジェクトID作成時は特に触らずでOK |
artifactId | プロジェクトから何かファイルを作成する先に使用される名前特に触らずでOK |
version | プロジェクトのバージョン。0.0.1-SNAPSHOT |
packaging | パッケージングタイプjar , war等あるらしいが作成したらwarで設定された。 |
build | ビルド設定 |
sourceDirectory | 情報のあるディレクトリ |
dependencies | プロジェクトに依存関係のあるライブラリ情報 |
plugins | 拡張する機能を記述する部分 |
plugin | 単体で拡張機能を記述 |
configuration | プログラムの設定?すいません分かりませんでした |
release | デプロイするJavaのバージョンをJavaコンパイラに通知 |
warSourceDirectory | warの情報があるディレクトリ |
Mavenのホームページには
[groupId]、[artifactId]、[version]の要素は頻繁に使用されるというのと、
「POMの要は、依存関係です。」
とありました。
なので先程の表にあった依存関係を表すという[dependencies]はキーワードとなりそうです。
まとめ
今の段階ではここまでです。
とりあえず前には進んだので、
今度はpom.xmlをすこしずつ自分で触ってみて改めてアップしていきたいと思います。
最後までお読み頂きありがとうございました。
駆け出しエンジニア けいこ♂
コメント