Eclipse上でコピペベースStruts(笑)で作ったWebアプリ、動かしてみると先日は動いたのに、エラーが出て動かない。
HTTPステータス 404 - サーブレット action が利用できません
Eclipseのログを見てみると、
致命的: Skipping validation rules file from '/WEB-INF/validator-rules.xml'. No stream could be opened. javax.servlet.ServletException: Skipping validation rules file from '/WEB-INF/validator-rules.xml'. No stream could be opened.
なるほど、validator-rules.xmlが読み込めないと……。んじゃ、struts-configのvalidatorプラグイン設定をコメントアウト……動く。んー、昼間ではきちんと動いていたのに。でも、Eclipse上のプロジェクトにそのファイルはきちんとあるし、内容もおかしいように思えない。同僚さんに問い合わせたところ、Eclipse経由で動かしているアプリは、実際は別の作業フォルダにパブリッシュされているので、プロジェクトエクスプローラ上にあるからといって実際の稼働環境にあるとは限らない…と。
なるほど、ということで、サーバーの設定から稼働フォルダを突き止めて、実際のファイルを見てみると……たしかにvalidator-rules.xml が無い…。
どうやら、パブリッシュを行う途中かなにかで処理を止めた、などで状態がおかしくなってしまったみたいです。