Maven2では、様々な種類のファイルを成果物として生成することができます。
Maven2の基本にてpackage指定でMaven2を実行することでjar/warファイルを生成すると書きましたが、この出力ファイルの種類を指定するためのpom.xmlファイルの設定として
基本的なpackagingの種類を見ていきます。
Maven2の基本にてpackage指定でMaven2を実行することでjar/warファイルを生成すると書きましたが、この出力ファイルの種類を指定するためのpom.xmlファイルの設定として
<packaging>
タグがあります。基本的なpackagingの種類を見ていきます。
jar
ライブラリや、実行可能なjarファイルを作るためのpackagingです。<packaging>
の指定がない場合には、デフォルトでjarを指定したことになります。<project>
<modelVersion>4.0.0</modelVersion>
<groupId>st.happy_camper.sample</groupId>
<artifactId>sample-jar</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
</project>
基本的なディレクトリ構成は以下のようになります。
+ project + src + main + java + resources + test + java + resources + target + classes + test-classes - pom.xml
package
フェーズの実行によって、src/main以下のクラス、リソースがjarファイルとしてパッケージングされ、jarファイルが生成されます。war
Webアプリ用のファイルであるwarファイルを作るためのpackagingです。<project>
<modelVersion>4.0.0</modelVersion>
<groupId>st.happy_camper.sample</groupId>
<artifactId>sample-webapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
</project>
基本的なディレクトリ構成は以下のようになります。
jarのときと比べてsrc/main/webapp以下が追加されています。
このディレクトリにWebアプリ向けのリソースを格納していくことになります。
+ project + src + main + java + resources + webapp + WEB-INF - web.xml + test + java + resources + target + classes + test-classes - pom.xml
package
フェーズの実行によってsrc/main/webapp以下をルートに、src/main以下のクラス、リソースをWEB-INF/classesへ、依存ライブラリをWEB-INF/libへとパッケージングされ、warファイルが生成されます。