Webアプリ

引き続き、試験的にMavenをさわっているので、ちょいとメモ。
今回はWebアプリ系。

  • Webアプリのプロジェクトの作成は、 -DarchetypeArtifactId=maven-archetype-webappを指定する。
  • Webアプリのプロジェクトの場合、ソースコード用のフォルダsrc/main/javaは自分で作成する。
  • Eclipseで、WTPのプロジェクトとして取り込む場合は、maven-eclipse-pluginのconfigurationでwtpversionを指定する。
  • servlet-api.jarは勝手にはパスに追加されないので、手動で行う。

見よう見まねで、こんな風にしてみた。


<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
scopeは、コンパイル時にのみ必要なので、providedにする。


某サイトに「ライセンスの関係で Maven のリモートリポジトリには登録されていません」
って書いてあったんだけど、この記述をしただけでうまくいったのはなぜ?







ちなみに、最初にscopeなしでやってたら、warファイルにservlet-api.jarが
勝手に入り込んでたんで、scopeをprovidedに変えた。
それでもなぜかjarが入り込むので、悩んだ結果、一度cleanすればいいことに気付いた。


cleanなんて使わねーとか思ってたのに、重要だったらしい。
そういや、単体テストの結果も昔のがマージされたレポートだったな・・・。