tanamonの稀に良く書く日記

KEEP CALM AND DRINK BEER

Maven2 + Eclipse + Tomcatの組み合わせで起動するまで

プロジェクトのひな形を作る

今回はWicket QuickStartを使用してみました。

mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.4-rc4 -DgroupId=com.mycompany -DartifactId=myproject
(略)

Eclipseプロジェクト用の設定

maven-eclipse-pluginをm2eclipseゴールで実行します。
eclipseゴールとの違いはこちらを参照。

cd myproject
mvn eclipse:m2eclipse
(略)

Sysdeo Tomcat Plugin用の設定

pom.xmlを開き、以下の記述を追加します。

<build>
  (略)
  <pluginManagement>
    <plugins>
      (略)
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>sysdeo-tomcat-maven-plugin</artifactId>
        <version>1.1</version>
      </plugin>
    </plugins>
  </pluginManagement>

  <plugins>
    (略)
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>sysdeo-tomcat-maven-plugin</artifactId>
      <version>1.1</version>
    </plugin>
  </plugins>
</build>


sysdeo-tomcat-maven-pluginを使用して設定ファイルを生成します。このプラグインにはm2eclipseゴールもありますが、こちらは使わずにgenerateゴールを使用します。2つの違いはこちらを参照。

mvn sysdeo-tomcat:generate
(略)


残念なことに自動でキレイに出てはくれないので、さらに手で修正を加えます。

    <webClassPathEntries>
          <webClassPathEntry>/myproject/target/classes</webClassPathEntry>
          <webClassPathEntry>M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar</webClassPathEntry>
          <webClassPathEntry>M2_REPO/org/apache/wicket/wicket/1.4-rc4/wicket-1.4-rc4.jar</webClassPathEntry>
          <webClassPathEntry>M2_REPO/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.jar</webClassPathEntry>
          <webClassPathEntry>M2_REPO/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.jar</webClassPathEntry>
    </webClassPathEntries>

という部分を以下のように修正します。

    <webClassPathEntries>
          <webClassPathEntry>/myproject/target/classes</webClassPathEntry>
          <webClassPathEntry>org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER</webClassPathEntry>
    </webClassPathEntries>

Tomcatのインストール

いろんなところに書かれているので省略。
特別な事情がなければTomcat6系をいれましょう。

Sysdeo Tomcat Pluginのインストール

以下からパッチのあたったものをインストールします。
Sysdeo tomcat plugin にパッチあて - たぷつきません
手順は同じく省略。

DevLoaderの設定

上記パッチ版でもDevLoaderに問題があるので、これまた別のパッチのあたったものをインストールします。
http://jfut.featia.net/diary/20071117.html#p01

devloader-3.2.1ex.jarを%TOMCAT_HOME%\lib以下に、
devloader.confを%TOMCAT_HOME%\conf以下にそれぞれコピーします。


あとは、Eclipse上でプロジェクトを右クリックして「Tomcatプロジェクト→コンテキスト定義を更新」を実行し、
Tomcatを起動した後、http://localhost:8080/myproject-1.0-SNAPSHOTにアクセスして画面が表示されれば完了です。

その他お好み設定

  • .tomcatpluginのreloadableはHOT Deployができる開発環境ではfalseにします。
  • .tomcatplguinのwebpathを変更してURLからバージョン番号を取ったほうがよいです。
  • コマンドラインからmvn cleanなどを行うとtargetディレクトリごと削除されますが、その場合Eclipse上で自動で再コンパイルが行われないので、Eclipse上のclassesはwork等の別ディレクトリにしておくと便利かも。