なぜ 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 Element-ui テーブルはツリー構造テーブルを実現します

この記事では、ツリー構造テーブルを実現するためのElement-uiテーブルの具体的なコードを参考ま...

MySQLのインデックス

序文早速本題に入りましょう。これからお話しするのは次のマインドマップです。まずは印象をつかんでくださ...

設定ファイルを変更した後、操作を再開します

余計なことは言わないで、コードだけ見てみましょう〜 # docker-compose をダウン # ...

TypeScriptはvscodeを使用してコードのコンパイルプロセスを監視します

インストールtsコマンドをグローバルにインストールする npm install -g typescr...

MySQL 5.5 で範囲パーティションを追加および削除する例

導入RANGE パーティション分割は、指定された連続した間隔範囲に基づいています。RANGE の初期...

MySQLの共通関数を使用してJSONを処理する方法

公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...

新しい要素を作成する3つの方法のまとめ

1つ目: テキスト/HTML経由var txt1="<h1>テキスト。<...

yum から docker インストール パッケージをダウンロードし、オフライン マシンにインストールする例の詳細なコード

1. ネットワークマシンでは、デフォルトのcentosyumソースを使用します [root@kole...

Windows 10 での mysql5.5 データベース コマンドラインの中国語文字化け問題を解決する

システムをリセットした後、かなり前にインストールした MySQL データベースのコンソール クエリで...

MySQLワームレプリケーションの基本知識

ワームは、その名前が示すように、自ら複製し、その数は倍増、つまり指数関数的に増加します。 MySQL...

CentOS7 カーネル カーネル5.0 バージョンアップグレード

アップグレードプロセス:元のシステム: CentOS7.3 [root@my-e450 ~]# un...

HTML テーブルタグチュートリアル (21): 行の境界線の色属性 BORDERCOLOR

テーブルを美しくするために、行ごとに異なる境界線の色を設定できます。基本的な構文<TR 境界線...

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...

Docker+Jenkinsによる自動デプロイの実現方法

Code Cloud を使用して Git コード ストレージ ウェアハウスを構築するhttps://...

JavaScript スネーク実装コード

この記事の例では、参考までに貪欲なスネークを実装するためのJavaScriptの具体的なコードを共有...