TomcatWebアプリからアクセスできる環境変数を追加したいと思います。このリンクをたどりましたが、rootユーザーに環境変数を設定したいと思います。どうやってするか?
4 に答える
ドキュメント( http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt )によると、すべてのenv変数を$ CATALINA_HOME / bin/setenv.shに設定する必要があります。
編集:完全を期すために、これが推奨される方法ですが、上記のドキュメントには次のように記載されていることを言及する価値があると思います。
デフォルトでは、setenvスクリプトファイルはありません。スクリプトファイルがCATALINA_BASEとCATALINA_HOMEの両方に存在する場合は、CATALINA_BASEにあるものが優先されます。
存在しない場合は、次の場所でenv変数を検索することもできます。
/etc/tomcat/tomcat[67].conf
(suse)または/etc/default/tomcat[67].conf
(例:ubuntu)または/etc/sysconfig/tomcat[67].conf
(rhel、fedora)
これがあなたがそれをする方法です
- sudosuおよびcdを/var/ lib / tomcat8 / bin /(またはTomcatのbinパスのいずれか)に移動します
- setenv.sh(存在しない場合)にタッチします。ファイルがすでに存在する場合は、「visetenv.sh」を実行します。
- chmod 777 setenv.sh(ファイルを実行可能にする)
- visetenv.shおよびsetenv.shに次の行を設定しますexportkey= value
- sudo systemctl restart tomcat.service
Javaファイルでは、次のコードを使用して、変数が設定されているかどうかを確認できます。
private static void printEnv() {
System.out.println("******************************Environment Vars*****************************");
Map<String, String> enviorntmentVars = System.getenv();
enviorntmentVars.entrySet().forEach(System.out::println);
System.out.println("******************************system Vars*****************************");
Properties enviorntmentProperties = System.getProperties();
enviorntmentVars.entrySet().forEach(System.out::println);
}
解決策を得ました...私が行ったことは、エクスポートステートメント /etc/init.d/tomcat6
を一番上に置き、コマンドでサーバーを再起動したことsudo /etc/init.d/tomcat6 restart
です。これで、Tomcatサーバーで実行されているWebアプリがその変数にアクセスできるようになりました。
これは機能しませんか?
環境ファイルに移動します。sudo vi / etc/environmentおよび必要な変数を追加します。ファイルを保存します。
最近のUbuntuでは、変更を有効にするにはシステムを再起動する必要があると思います。