実行環境
- Eclipse Version: 2023-09 (4.29.0)
- Java 1.8.0_202
- Tomcat Tomcat10_Java21
発生した事象
TomcatでWebアプリケーションを実行中、突如下記のエラーが発生。
(ちゃんと考えてれば突如なんてことにはなり得ないんですが^^;)
原因
サーブレットのリファクタリングを行ったことでした。
-
HogeCode.java
をFooCode.java
に変更 - アノテーションも
@WebServlet("/HogeCode")
から@WebServlet("/FooCode")
に変更
※サーブレット名、アノテーション名に被りはありません。
サーブレット名が他のサーブレットと同一の場合も同様の起動エラーが確認できます。
解決方法
WEB-INF/lib
配下のweb.xmlの記載をお約束の<?xml version="1.0" encoding="UTF-8"?>
とweb-app
タグ以外のものを全消去
まとめ
Tomcatの起動が出来ない時に確認すること
- サーブレット名に被りはないか
- web.xmlに不必要な記述が残っていないか
ちなみに、web.xmlはサーブレットを作った時に自動で作られていたっぽいです。
リファクタリング等しなければそこまで問題になることではないかもしれません(未検証)