実現したいこと
Maven Webアプリケーションプロジェクトを WARファイルとして Tomcat にデプロイ
エラーメッセージ
HTTPステータス404
yourpage.com
HTTPステータス404-見つかりません。
タイプ ステータスレポート
メッセージ The requested resource [/] is not available
説明 オリジンサーバーは、ターゲットリソースの現在の表現を見つけられなかったか、またはそれが存在することを開示するつもりはありません。
Apache Tomcat/Your Version
原因
プロジェクトルートを完全に削除できなかった
Tomcat で以下のエラーが発生していた。
catalina.2024-06-26.log
26-Jun-2024 08:46:21.754 SEVERE [Catalina-utility-2]
org.apache.catalina.startup.ExpandWar.deleteDir
[/opt/tomcat-9/apache-tomcat-9.0.56/webapps/ROOT] could not be completely deleted.
The presence of the remaining files may cause problems
以下2つが原因と考えられる。
- Tomcat を起動したままデプロイした結果、一部のファイルが読み込まれている状態だったため
-
mv
コマンドで古いWARファイルを上書きした結果、完全に上書きできず一部のファイルが残ったため
解決方法
デプロイする前に Tomcat を停止し、古いWARファイルと展開されたディレクトリを削除する
Tomcatを停止
sudo systemctl stop tomcat
古いWARファイルと展開されたディレクトリを削除
ls -l path/to/tomcat/webapps/ # 対象の存在をチェック
sudo rm -r path/to/tomcat/webapps/ROOT.war # 古いWARファイルを削除
sudo rm -r path/to/tomcat/webapps/ROOT # 展開されたディレクトリを削除
ls -l path/to/tomcat/webapps/ # 削除されたことをチェック
Tomcatを起動
sudo systemctl start tomcat
Tomcatの起動確認
sudo systemctl status tomcat
- Webアプリケーションにアクセスして動作確認
Tomcatのログを確認
sudo tail -f /path/to/tomcat/logs/your_error.log
環境
Ubuntu 20.04.3
Eclipse IDE for Enterprise Java and Web Developers (includes Incubating components) Version: 2023-12 (4.30.0)
Apache Tomcat/9.0.56
Apache Maven/未調査
参考