29

Web アプリケーションのコーディングに eclipse を使用しています。この中で、次のような環境変数を渡しました。

  1. プロジェクト --> 実行 --> 実行構成。そして、環境タブを選択しました。
  2. APP_MASTER_PASSWORD名前とその値を持つ新しい環境変数を追加します。

として Java コードでこの値にアクセスできますSystem.getenv("APP_MASTER_PASSWORD")

しかし、今はこの環境変数を tomcat に渡し、Eclipse を介して渡す代わりにアプリケーションでアクセスしたいと考えています。

では、そのような変数をTomcatに渡すにはどうすればよいですか?

私はそれについてググった。しかし、私は何の解決策も得られませんでした。

4

8 に答える 8

20

この場合、環境変数の代わりにシステム プロパティを使用する必要があります。JAVA_OPTS の Tomcat スクリプトを編集し、次のようなプロパティを追加します。

-DAPP_MASTER_PASSWORD=foo

そしてあなたのコードで、

System.getProperty("APP_MASTER_PASSWORD");

JAVA_OPTS の代わりに、実行構成内の VM パラメーターの行をコピーして、Eclipse でもこれを行うことができます。

于 2013-06-11T05:21:59.603 に答える
11

マークアップによって指定された環境エントリ<Environment>は JNDI であり、の下のInitialContext.lookupjava:/comp/envを使用してアクセスできます。環境パラメーターをInitialContextコンストラクターおよびアプリケーション リソース ファイルに使用することにより、 JNDIに環境プロパティを指定できます。

System.getEnv()tomcat プロセス自体のシステム環境変数に関するものです。

bash コマンドを使用して環境変数を設定するに export TOMCAT_OPTS=-Dmy.bar=foo は、Tomcat を起動し ます。./startup.sh システム プロパティの値を取得するには、 をbar使用しますSystem.getProperty()System.getEnv()環境変数を取得するために使用できますTOMCAT_OPTS

于 2013-06-10T07:57:55.210 に答える
8

環境変数は、Tomcat インストール ディレクトリのフォルダーにsetenv.bat(windows) またはsetenv.sh(unix) ファイルを作成することで設定できます。binただし、コード内から環境変数にアクセスすることはできません。

システム プロパティ-Dは、Java プロセスの引数によって設定されます。環境変数で java 開始引数を定義できますJAVA_OPTS

私の提案は、これら 2 つのメカニズムの組み合わせです。あなたのapache-tomcat-0.0.0\bin\setenv.bat書き込みで:

set JAVA_OPTS=-DAPP_MASTER_PASSWORD=password1

Java コードに次のように記述します。

System.getProperty("APP_MASTER_PASSWORD")
于 2019-04-02T08:33:27.177 に答える
1

Eclipse (「サーバー」ビュー) から Tomcat を起動する場合は、「Apache Tomcat / Tomcat …」という名前の「実行/実行構成」(メニュー) エントリが必要です。実行構成のリストでこのエントリを選択すると、いくつかのタブを含むウィンドウが表示され、そのうちの 1 つに「環境」というラベルが付いています。そこで、Tomcat の環境変数を構成できます。その後、必ず Tomcat を再起動してください。

于 2016-10-21T13:34:47.367 に答える