Javaビルド製品(Maven)を調べた!
Javaビルド製品(Maven)について調べたのでお伝えします。
MAVEN について
Mavenは、JAVAのビルド製品になります。プロジェクトをひとつのコマンドで利用できるなんて良いですよね。 インストール方法はあとで纏めるとして、基本的なことを記載します。
ビルドとコンパイルの違いは?
人間がプログラミング言語を用いて作成したソフトウェアの設計図(ソースコード)を、コンピュータ上で実行可能な形式 (オブジェクトコード)に変換すること。 そのためのソフトウェアをコンパイラという。 変換のみを一括して行い、生成したオブジェクトコードの実行は行わない。
ビルド
ソースコードのコンパイルやライブラリのリンクなどを行い、最終的な実行可能ファイルを作成すること。 また、そのような作業によって生成されたソフトウェアの版。
Mavenとは
「Maven」とは、Javaプログラムをビルドするためのツール。
さまざまなプラグインを組み込むことによりソフトウェアテストツール、ソフトウェア保守ツール、ソフトウェア品質ツールの機能なども追加することが可能。
プラグインやライブラリが置かれる場所です。 必要なプラグインやライブラリをリモートリポジトリからダウンロードし、それをローカルリポジトリに保存する仕様です。
また、プロジェクトのライフサイクルに含まれるコンパイルやテストなどの各作業をコマンド一つで行うことができます
実現可能なこと
・ライブラリの一元管理 ・プロジェクト情報の配信 ・ビルドプロセスの提供(ソフトウェア構成管理) ・jUnitを使用した単体テスト(ソフトウェアテスト) ・サイト生成機能を用いたプロジェクト情報の共有(ソフトウェア保守) ・FindBugsを使用したバグパターン検知(ソフトウェア品質)
大きな特徴
pom.xmlのタグにプロジェクトで使用したいJARライブラリ名及びバージョンを指定することで、外部サイトで集中管理されているJARを自動ダウンロードし、ローカルでビルドに使用が可能。
POMについて
pom.xmlはプロジェクトに関する情報を持つファイルです Project Object Modelの略です。
JARファイルとは
Javaのファイルを1つにまとめたファイル。 コンパイルされた複数のJavaバイトコード及びそれが使用する画像などのリソースを一つにまとめZIP形式で圧縮されたファイル、及びそれを出力するツール
JARファイルは、圧縮したままで、Javaの実行環境で動かすことができます。 zipファイル同様、圧縮・解凍ソフトで解凍できます。
その他のJAVAのビルド製品
Ant
Apache Software FoundationによってApache Software Licenseで提供されるオープンソースツール
よく利用するコマンド
プロジェクト作成
mvn -B archetype:generate \
プロジェクト作成
mvn -B archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.myapp \ -DartifactId=myapp
プロジェクト検証
mvn validate
コンパイル
mvn compile
テストの実行
Junitテストクラスの実行
mvn test
パッケージ生成
mvn package JAR、WAR等の成果物を生成する。 packageを実行すればvaliate、compile、test、packageのフェーズも実行される
インストール
JARをローカルリポジトリにインストールする。
mvn install