hnakamur’s blog

ものすごい勢いで忘れる私のために未整理でもいいからとりあえずメモ

ラベル tomcat の投稿を表示しています。 すべての投稿を表示
ラベル tomcat の投稿を表示しています。 すべての投稿を表示

2011-06-19

Sysdeo TomcatプラグインよりWTPのほうがよいです

hnakamur’s blog: m2eclipseとTomcatプラグインの連携設定ではSysdeo Tomcatプラグインを使った方法を書きましたが、WTP (Web Toolkit Platform)のほうが簡単ということがわかりました。

eclipseのJavaEE版ならWTPが含まれています。

使い方
あらかじめTomcatをインストールしておきます。

Tomcatサーバの登録
Eclipseの[Servers]ビューで右クリックしてポップアップメニューを開き[New]/[Server]メニューを選ぶ。
ツリーでTomcatのバージョンを選んでTomcatのインストールディレクトリを選択(ここの手順はうろ覚え)

ウェブアプリの登録
Eclipseの[Servers]ビューのサーバーの行を右クリックしてポップアップメニューを開き[Add and Remove...]メニューを選ぶ。
ウェブアプリのプロジェクトを選んで追加する。

あとはstartで起動すればよいだけです。試してみた感じではTomcatのインストールディレクトリ内の設定ファイルが書き換えられたりはしないようです。

追記
WTPだからというのは無関係でSAStrutsのDoltengで作成したプロジェクトではsrc/main/webapp/WEB-INF/のlib/にライブラリが置いてあり、classes/以下にコンパイルしたクラスを置くように設定されているというのが本質でした。

試しにpom.xmlの依存関係を変更してmvn war:inplaceを実行すればsrc/main/webapp/WEB-INF/lib/以下が更新されました。なので、これも含めてSubversionなどソース管理システムに登録してしまうのが簡単そうです。

2011-06-11

m2eclipseとTomcatプラグインの連携設定

2011-06-19追記:その後hnakamur’s blog: Sysdeo TomcatプラグインよりWTPのほうがよいですということがわかりました。


プロジェクトのプロパティの[Tomcat]→[全般]タブ→[Webアプリケーション・ルートとするサブディレクトリー]をどう設定するかについてのメモです。

Super Agile StrutsとかMaven2 + Eclipse + Tomcatプラグイン の組み合わせ - Enjoy*Studyではsrc/main/webappにしています。ですが、Maven2でリソースファイルのプロパティ置換をしていたりすると困る気がします。

そこでmavenをフルビルドすることで作成されるwar生成用の一時フォルダを設定するようにしてみました。具体的には以下のようにします。
  • プロジェクトのプロパティの[Builders]では[Maven Project Builder]の行が存在しチェックがついた状態にしておく(m2eclipseでプロジェクトを作ればそうなっています)。
  • プロジェクトのプロパティの[Maven]/[Lifecycle Mapping]→[Goals to invoke after project clean]を「clean package」にする。
  • プロジェクトのプロパティの[Tomcat]→[全般]タブ→[Webアプリケーション・ルートとするサブディレクトリー]は「target/<warファイルのベース名>」とする。warファイルのベース名は、pom.xmlでbuildタグのfinalNameタグを指定する場合はその値になり、finalNameを指定しない場合は${artifactId}-${version}になります。

この設定により、[Project]/[clean]メニューを実行すると「mvn clean package」が実行されて、targetフォルダ以下が作り直されます。ただ、エクスプローラでtargetフォルダを開いていたりするとcleanでフォルダが消せずうまくいかないので注意。

開いていなくてもTomcatプラグインでTomcatを起動中の場合もうまくいかないときもあるようです。Consoleにエラーは出ないのですが、targetフォルダ内のwarファイル生成用フォルダの中身が不足しているときがありました。

Tomcatを停止してから[Project]/[clean]を実行するほうが無難です。つまりホットデプロイはあきらめるということですが、不安定になるよりはいいと割り切ることにします。

ブログ アーカイブ