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.xmlpackageフェーズの実行によって、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.xmlpackageフェーズの実行によってsrc/main/webapp以下をルートに、src/main以下のクラス、リソースをWEB-INF/classesへ、依存ライブラリをWEB-INF/libへとパッケージングされ、warファイルが生成されます。
