発生確率自体は結構高いみたいですし、
対処法を知らないと、たとえEclipseをダウンロードし直しても解決しない厄介な問題なので、一応。
対象の現象
EclipseでJava+Tomcatの開発をしている時、
ビルドは正しく通るのに、Tomcatの起動時にClassNotFoundExceptionが出て起動できない現象に陥る事があります。
※表面的には、「絶対にあるはずのクラス(またはjarファイル)が見つからないと言われてる」ようなログが出ます。
その時に、それがMavenを使ったプロジェクトの場合、ローカルリポジトリが壊れてる可能性があります。
他の原因の可能性を一通り排除
何かの拍子に起こってるだけのエラーかもしれないので、以下の手順を一通り試します。
- プロジェクトをF5(refresh)
- プロジェクトをAlt+F5(MavenのUpdate Project)
- プロジェクトをクリーンビルド
- Eclipseをclean再起動
それでもダメな場合、以下の手順でローカルリポジトリの再作成を試してみてください。
mavenのローカルリポジトリの再作成
※基本的に、.m2フォルダ内にrepositoryフォルダが無ければプロジェクト更新時に勝手に再作成するので、
以下の手順で一度repositoryフォルダを削除すればOKです。
- Eclipseをクローズする。(起動したままだと、ローカルリポジトリ内のファイルを掴んだままで以下の手順が失敗する可能性があるため)
- .m2フォルダに移動する。(通常は、『C:/Users/{UserName}/』フォルダ下にあるはずです。)
- repositoryフォルダを削除する。(他の場所に移動、またはフォルダ名を変えるだけでもいいです)
- Eclipseを起動する。
- Alt+F5(MavenのUpdate Project。※上記のrepositoryフォルダを作り直して必要なjarファイルをダウンロードしてくるので、時間がかかります)
- Tomcatを起動する。
以上。