なぜ Tomcat が起動できないのでしょうか?

なぜ Tomcat が起動できないのでしょうか?

現象:

Tomcat がインストールされ、Web プロジェクトを展開する準備が整いました。Tomcat を起動しても応答がありません。

Tomcat が起動したことが示されています。ただし、この起動は成功と同じではありません。ブラウザを開いてポート 8080 にアクセスすると、Tomcat が起動していないことがわかります。

インターネット上のほとんどのチュートリアルでは、ポートの使用状況を確認したり、JDK 環境を構成したりする方法を説明しています。しかし実際には、結果を効果的に推測できるように、理由を分析する必要があります (私の最初の間違いは、誤った war パッケージがあり、Tomcat が起動に失敗したことでした。これは、オンライン チュートリアルに従っていた場合は発見できませんでした)

tomcat のログはすべて tomcat ログ ディレクトリに保存されます。tomcat の起動時のログは catalina.***.log に保存されます。*** は日付を表します。現在の日付の catalina.***.log を見つけて、ログ情報から問題を特定できます。

ポートの使用:

この時点で、まずポートを占有しているスレッドを見つけることができます。

lsof -nP -i:8080 

次にスレッドを終了します:

キル -9 pid

ファイルにスペルミスがあります:

エラー メッセージから、この問題の原因はファイルの 2 行目のスペル エラーであることがわかります。ファイルを開くと、ファイルの 1 行目にスペースがあることがわかります。1 行目のスペースを削除するだけです。

<?xml バージョン="1.0" エンコーディング="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
バージョン= "4.0"
メタデータ完了="true">
 
<description> サーブレットの例。</description>
<display-name> MyServlet の例 </display-name>
<リクエスト文字エンコーディング>UTF-8</リクエスト文字エンコーディング>
 
<サーブレット>
<サーブレット名>myServlet</サーブレット名>
<サーブレットクラス>MyServlet</サーブレットクラス>
</サーブレット>
 
<サーブレットマッピング>
<サーブレット名>myServlet</サーブレット名>
<url-pattern>/myservlet</url-pattern>
</サーブレットマッピング>
 
</ウェブアプリ>

これで、Tomcat を起動できない理由に関するこの記事は終了です。Tomcat を起動できないことに関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • tomcatでstartup.batをダブルクリックして起動する理由と解決策
  • Tomcat 起動エラー: java.util.zip.ZipException の解決方法
  • tomcat 起動時に startup.bat が点滅する問題の解決方法 [専門的なテストと有効性]
  • Tomcat は正常に起動しますが、アクセスしたすべてのページで 404 例外が報告されます。404 例外の概要と分析
  • Tomcat サービスを開始できない問題の解決策
  • Tomcatの起動時にSecureRandomが非常に遅くなる問題の解決策
  • Tomcat 起動エラーの処理方法 (ポート 8080 が使用中)

<<:  JavaScript の setTimeout() の使用法の概要

>>:  CSS で平均レイアウトを実現するためにネガティブ マージン テクノロジーを使用する方法

推薦する

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...

Centos7 システムでの python2 と python3 の共存

最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...

LINUX での IPTABLES ファイアウォールの基本的な使用方法のチュートリアル

序文パブリック IP を持つ本番 VPS の場合、必要なポートのみが開かれ、IP とポートを制御する...

MySQL 実験: explain を使用してインデックスの傾向を分析する

概要インデックス作成は、MySQL で習得しなければならないスキルであり、MySQL クエリの効率を...

CentOS 6.8 での Hadoop 3.1.1 完全分散インストール ガイド (推奨)

上記:このドキュメントは、3 台の仮想マシンが相互に ping を実行できること、ファイアウォールが...

反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

最初のパラメータ渡し方法は、動的ルーティングパラメータ渡しです。リンクのパス属性を設定することで、ル...

Linux centos7 に phpMyAdmin をインストールするチュートリアル

yum install httpd php mariadb-server –yランプの動作環境を設定...

JavaScript イベント ループのケース スタディ

js のイベント ループJavaScript はシングルスレッドなので、同じイベントで実行できるメソ...

Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)

この記事では、Linux 環境で crontab コマンドを使用して、タスクの定期的な実行をスケジュ...

CSS3を使って歌詞進行テキストカラー塗りつぶし変更の動的効果を実装するアイデアの詳細な説明

音楽を再生すると、曲が進むにつれて歌詞が徐々に色づきます。色は単語ごとに変わるのではなく、左から右へ...

MySQL 百万レベルのデータページングクエリ最適化ソリューション

データベースからクエリする必要があるテーブルに数万件のレコードがある場合、すべての結果を一度にクエリ...

Dockerコンテナのデータボリュームの詳細な説明

何ですかまず、Docker の概念を見てみましょう。アプリケーションと実行環境をコンテナにパッケージ...

MySQL マスターライブラリ binlog (master-log) とスレーブライブラリ relay-log 間のコードの詳細な説明

メインライブラリのバイナリログ: # 2420 で #170809 17:16:20 サーバー ID...

初心者向けMySQLシリーズチュートリアル

目次1. 基本概念と基本コマンド1) 基本的な概念2) 基本コマンド2. SQL文の記述順序と実行順...

Docker で最初のアプリケーションをデプロイする方法

前回の記事では、Docker Desktop をインストールし、Kubernetes を有効にしまし...