なぜ 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 で平均レイアウトを実現するためにネガティブ マージン テクノロジーを使用する方法

推薦する

dockerでデプロイされたjenkinsでgitプログラムを実行する際の問題について

1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...

ランダムな文字を生成する Java サンプルコード

サンプルコード: java.util.Random をインポートします。 java.util.UUI...

docker で golang イメージに基づいて ssh サービスを構築する方法

以下は、docker の golang イメージに基づいて ssh サービスを構築するためのコードで...

MySQLパスワード変更例の詳細な説明

MySQLパスワード変更例の詳細な説明長い間 MySQL を使用していませんでした。今日、MySQL...

HTML の著作権記号のフォント選択問題 (著作権記号をより美しくする方法)

1. 問題を発見する&copy; は HTML の著作権記号ですが、間違ったフォントを選択す...

ドラッグ可能で編集可能なガントチャートの詳細な説明(HighchartsはVueとReactで使用できます)

序文Excel は強力で、広く使用されています。 Web アプリケーションの登場と改善に伴い、ユーザ...

Zabbixで電子メールアラートを実装する方法

オンラインチュートリアルに従って実装しました。 zabbix3.4、スクリプトとsendEmailを...

Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...

HTML におけるいくつかの特殊属性タグの使用法の紹介

以下の属性はブラウザとの互換性があまりありません。 1.transform:rotate(45度) ...

Vue 親子コンポーネントの相互値の転送と呼び出し

目次1. 親が子コンポーネントに値を渡す2. 子コンポーネントが親コンポーネントに値を渡す3. 子コ...

MySQL での limit の使用方法は何ですか (推奨)

SELECT * FROM テーブル名制限m,n; SELECT * FROM テーブル LIMI...

jsプロジェクトでの双方向データバインディングの簡単な実装方法

目次序文パブリッシュ・サブスクライバ・パターン結果電話要約する序文双方向データ バインディングとは、...

HTMLタグのデフォルトスタイルの配置

html、address、blockquote、body、dd、div、dl、dt、fieldset...

デザインにおいて無視できないインタラクティブデザインにおける製品状態の分析

製品デザインのプロセスにおいて、デザイナーは常に写真を非常に美しくすることを好みます。仮想ページのコ...

MySQLデータベース操作の基本コマンド

1. データベースを作成します。 データ data _name を作成します。 PHP でデータベー...