ふたつの川うるおう日記
2007-11-16 (Fri)
_ [Java] m2eclipseプラグインとSysdeo/SQLI Eclipse Tomcat Launcher pluginのDevLoader改変
id:dragon3さんが書かれたm2eclipseプラグインと tomcatプラグイン (DevLoader) の組み合わせを最近のSeasarでよく使われているgeronimo-apiやgeronimo-servletのjarがある状態で動かさそうとすると、TomcatのFilter初期化時にjava.lang.ClassCastExceptionが再発してしまうので、dragon3のソースを参考に $TOMCAT_HOME/conf/devloader.conf を参照して任意のjarファイルやクラスパスを除外するように改変してみました。以下、使い方。
- http://integ.jp/java/devloader/ から devloader-3.2.1ex.jar と devloader.conf をダウンロード
- devloader-3.2.1ex.jar をTomcatのライブラリパスに配置する
- Tomcat 5.x: $TOMCAT_HOME/server/lib
- Tomcat 6.x: $TOMCAT_HOME/lib
- devloader.conf を $TOMCAT_HOME/conf に配置する
- デフォルトでTomcatとGeronimo用のが書いてあります
- [12/2追記] devloader.confが存在しない場合、TomcatとGeronimoの問題になるjarを除外するようにしました。要 devloader-3.2.1ex.jar の再ダウンロード。
- デフォルトでTomcatとGeronimo用のが書いてあります
あとはプロジェクトのProperties -> Tomcat -> 開発用クラスローダーのクラスパスで、次の設定をすれば良いです。
- チェックする: 開発用クラスローダーを有効にする
- チェックする: /プロジェクト名/target/classes (例)
- チェックする: org.maven.ide.eclipse.MAVEN_CLASSPATH_CONTAINER
- 絶対パスで表示されてるMavenリポジトリのjarファイルはチェックしない
$TOMCAT_HOME/conf/devloader.conf はJavaの正規表現で除外したいものを行ごとに書けば良いです。TomcatとGeronimo以外でどんなのがあるか知らないのでとりあえずこの2つだけ書いてあります(多くの場合、これ以上編集する必要ないと思います)。
# for Tomcat (.*)/servlet-api(.*).jar (.*)/jsp-api(.*).jar # for Geronimo (.*)/geronimo-jsp(.*).jar file:/(.*)/geronimo-servlet(.*).jar
ただ、結構前からSeasarにはGeronimoのライブラリが使われているので、もしかしたらもっと良い方法が既にあったりするんじゃないかなっと思ってます。もっと良い方法をご存じでしたら是非教えてください(>_<)。
そして、動かしたかったcubby-examplesが動いたー。
- [追記]: DevLoader改変、Mayaa対応編に続く
クッキリ!ハッキリ!モッコリ!の3連発!
【マンスジ食い込み動画】
伊東美咲,の激ヤバ恥ずかしい映像はコチラで!!マジレアです!
■逮捕しちゃうぞでパンチラ■


