Tomcatの起動時の設定で、システムプロパティを指定するにはどうしたらいいですか?
質問
Tomcatにシステムプロパティを指定するには、-Dパラメータで引数を渡して、例えば"のように指定することができると理解しています。 -Dmy.prop=value といった具合です。
context.xml ファイルまたは他の tomcat 構成ファイルでプロパティ値を指定することによって、これを行うよりきれいな方法があるかどうか疑問に思っています。なぜなら、第一に、プロパティを追跡しやすく、第二に、複数のコンテキストを実行しており、-D パラメータを通じてコンテキスト固有のプロパティを指定する方法がわからないからです。
私は Tomcat バージョン 5.5 を使用しています。
どのように解決するのですか?
(更新: この回答を削除できるのであれば削除したいのですが、承認されてしまったので削除はできません。より良いガイダンスを提供し、元の回答で説明した不適切な方法を使用しないように、説明を更新しています)。
これらのパラメータは、context.xml などのコンテキストまたは環境パラメータを介して指定できます。 このページの "コンテキスト パラメータおよび "環境エントリというタイトルのセクションを参照してください。
http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
netjeff が指摘するように、これらの値は Context.lookup(String) メソッドを介して利用可能であり、System パラメータとして利用できるわけではありません。
これらの値を指定する別の方法は、デプロイする Web アプリケーションの web.xml ファイル内で変数を定義することです (以下を参照)。Robert Lo Giacco が指摘するように、デプロイされた成果物は環境固有であるべきではないので、これは一般に悪い習慣と考えられています。しかし、本当にそうしたいのであれば、以下に設定スニペットを示します。
<env-entry>
<env-entry-name>SMTP_PASSWORD</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>abc123ftw</env-entry-value>
</env-entry>
関連
-
[解決済み】TOMCAT SSL Error: エイリアス名がキーエントリーを識別していない
-
tomcat start report c3p0プールの初期化中... Com.mchange.v2.c3p0.
-
NamingException: このクラスローダーにバインドされているネーミング・コンテキストがありません。
-
tomcat サーバーを起動するとエラーが発生する Context の初期化に失敗しました。
-
[解決済み] JavaScriptでオブジェクトのキー/プロパティの数を効率的にカウントする方法
-
[解決済み] Tomcatのポートを8080から80に変更するには?
-
[解決済み] Java Web アプリケーションでアプリケーションサーバーの外側から静的データを提供する最も簡単な方法
-
[解決済み] Tomcatは起動していますか?
-
[解決済み] tomcatがすべてのアドレスではなく、単一のIPアドレス(localhost)にバインドするように設定するにはどうすればよいですか?
-
Tomcatのメモリ設定を増やす【重複】について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] TomcatにおけるNIOとBIOの根本的な違いは何ですか?
-
[解決済み] TomcatがremoveAbandonedTimeoutを無視して、プール内の接続をクローズする
-
maven reports an error the goal you specified requires a project to execute but there is no POM in this direct...
-
深刻:起動中に子コンテナが失敗した
-
tomcat start report c3p0プールの初期化中... Com.mchange.v2.c3p0.
-
tomcat8 で X11GraphicsEnvironment の問題が発生し、クラス sun.awt.X11GraphicsEnvironment を初期化できない。
-
[解決済み] NetBeansからのTomcat起動エラー - '127.0.0.1*' が内部コマンドまたは外部コマンドとして認識されない
-
[解決済み] サーバー http:/localhost:8080 は、ユーザー名とパスワードが必要です。とサーバーは言っています。XDB
-
[解決済み] Java Web アプリケーションでアプリケーションサーバーの外側から静的データを提供する最も簡単な方法
-
[解決済み] IntelliJとTomcat... Howto...?