JSPC再び
やることもないので、以前放置したJSPCにチャレンジ。
まぁTomcatのページ*1を見てその通りに書くだけだが。
問題は、"generated_web.xml"のマージ。
これがなかなか手ごわいのだが、結局はれいれいさんところの日記*2のやりかたにした。
・・・強引だねぇw
フィルターの説明はこちら=>*3
ところで、おいらの環境ではbuild.xmlでは半角スペースが使えないのか、フィルターでマッチしない。
仕方がないのでエスケープすることにした。
<copy file="${WEB.XML}" tofile="${NEW_WEB.XML}" overwrite="true" verbose="false"> <filterchain> <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens"> <param type="tokenchar" name="begintoken" value="<"/> <param type="tokenchar" name="endtoken" value=">"/> <param type="token" name="!-- include generated_web.xml --" value="$GENERATED_WEB.XML.VALUE}"/> </filterreader> </filterchain> </copy>
それから、JSPCをしないようにもできるようにしたので、export>workにコピー>コンパイル>JSPC>makewarという順番にした。
となると、web.xmlを自分自身で置き換えないといけないのだが、antでこれをしようとすると"Skipping self-copy"と言われる。
別名web.xmlを作って、オリジナルを消して、別名をオリジナルにリネームして・・・がちょっと面倒というか美しくないのだがまぁ仕方がない。
最後の問題(宿題)
<welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list>
これがうまくいかないようだ。
index.jspだけJSPCしないというのもありだが・・・。
環境:
Tomcat5.5.9
Ant1.6.4
Java1.5.0_04
そういえばITmediaの記事*4が本家にそっくりなのだが。
ちゃんと本家にリンクは張っておくべきだと思うな。
ちょっと気になった。