Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Eclipse Java JSP/Servlet Tomcat

TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法

投稿日:2021年3月11日 更新日:

<目次>

(1) TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法
 (1-1) 発生状況・エラーメッセージ
 (1-2) 原因
 (1-3) 対処法

(1) TomcatでEclipseを使う際にserver.xmlを編集しても上書きされる事象の対処方法

タイトルの通り、TomcatをEclipseで使用する際に、再起動したタイミングでserver.xmlがデフォルトの状態に戻ってしまい、追記した設定が先祖返りしてしまう事象の対応方法についてです。

(1-1) エラー概要

TomcatをEclipseで使う際の動的Webプロジェクトをhttps接続する方法(⇒設定手順)の手順に沿って、https接続の疎通を完了したものの、再度Tomcatを再起動したら「server.xml」に追加したはずの情報が消えており、初期状態に戻ってしまっていました

目次にもどる

(1-2) 原因

Eclipseの大元の設定ファイルを更新していないのが原因でした。

Eclipseの挙動として、自身のworkspace配下にある「Server」プロジェクト(下図)内にある「server.xml」を使って、Eclipseの「.metadata」フォルダ内にある「server.xml」を上書きしています。

そのため、「.metadata」配下のファイルを直接更新しても、EclipseのTomcatを再起動する度に上書きされて、デグレしてしまっていました。

・大元のファイル

大元のファイルはEclipseのWorkspaceにあるServerプロジェクトの中のserver.xmlです。
(図111)

・他のserver.xmlへの影響

「server.xml」はEclipseの「.metadata」配下以外にも、Tomcat用の「$CATALINA_HOME/conf/」配下にもありますが、再起動時に上書きされるのは「.metadata」配下の方のみです。

「$CATALINA_HOME/conf/」配下の方は、Tomcatに直接アプリケーションをデプロイする際に適用される設定のため、Eclipseとは独立した設定ファイルになっています。

まとめると、次のようになります。
(表)

server.xmlのパス 上書き 備考
/home/admin/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf/ YES
(される)
EclipseでTomcatを使う場合に使用されるserver.xmlで、通常「.metadataフォルダ内)に格納され
/usr/local/src/apache-tomcat-8.5.55/conf/ NO
(されない)
Tomcat自体に直接Webアプリをデプロイする際のserver.xmlです。Eclipseとは切り離された設定のため、上書きはされない。

目次にもどる

(1-3) 対処法

原因の記載にもある通り、大元の設定である『workspace配下にある「Server」プロジェクト内にある「server.xml」』に設定を追記していけば良い事になります。

例として、動的Webプロジェクトをhttps接続する際に行うTomcatのポート8443の設定を追記する例をご紹介します。

下図のようなWebサイトがあり、HTTPS接続の疎通に成功したものの、Tomcat再起動の度にserver.xmlの8443ポート設定(下図の赤枠)が消失してしまう状況でした。なので、この赤枠に追記した内容をEclipseのworkspace配下のServerプロジェクト内のserver.xmlに同じ内容を追記していきます。

(図131)


(図131)②


(図131)③

STEP1:server.xmlを開く

Eclipseを起動し、Serverプロジェクトの中の「server.xml」を開きます。
(図132)

STEP2:server.xmlに追記

各自必要な設定を追記します。今回の例ではhttps接続をするためのポートの設定を追記します。

(例)

 <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                maxThreads="150"
                SSLEnabled="true"
                scheme="https"
                secure="true"
                clientAuth="false"
                sslProtocol="TLS"
                sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
                type="RSA"
                keystoreFile="conf/mycertificate.cer" keystorePass="[ご自身の証明書パスワード]"
    />

(図133)

STEP3:Tomcatを再起動

設定を反映させるためにTomcatの再起動を行います。
(図134)

STEP4:設定ファイルのチェック&疎通テスト

先ほどは上書きされてデグレしてしまった「.metadata」配下にあるserver.xmlを確認します。今度はちゃんと追記内容が残っているはずです。
(図135)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Eclipse, Java, JSP/Servlet, Tomcat

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Javaのラッパークラスとは?使い方や一覧をご紹介

<目次> (1) Javaのラッパークラスとは?使い方や一覧をご紹介  (1-1) ラッパークラスとは?  (1-2) 構文(オブジェクト生成)  (1-3) 代表的なメソッド(Integerを例に) …

JSP Servletで共通のヘッダーを設定する方法

<目次> (1) JSP Servletで共通のヘッダーを設定する方法  (1-1) 構文  (1-2) サンプルプログラム  (1-3) 参考 (1) JSP Servletで共通のヘッダーを設定す …

Linux(CentOS7)にTomcatをインストールする手順について

(0)目次&概説 (1) 記事の目的/前提 (2) 実施手順  (2-1) Tomcat用ユーザ/グループ作成  (2-2) 資源のダウンロード  (2-3) 資源の解凍  (2-4) 資源に必要権限 …

Javaのアノテーションとは?種類や使い方についてご紹介

<目次> (1) Javaのアノテーションとは?自作の手順やフィールド値の取得方法もご紹介  (1-1) アノテーションとは?  (1-2) アノテーションの種類  (1-3) 自作アノテーションの作 …

double型で誤差が発生する件について+発生事例やサンプルプログラムも紹介

<目次> (1) double型では誤差が発生する事について  (1-1) double型は近似値を使用している  (1-2) double型の誤差の例 (1) double型で誤差が発生する件につい …

  • English (United States)
  • 日本語
Top