1

これは mac os (OS X 10.5.8) での私の最初の実際の開発です。職場から macbookpro を入手しましたが、まだ適切な開発環境をセットアップしています。/etc/launchd.conf の作成を選択しました。ほとんどのライブラリ (JAVA_HOME、JRE_HOME) で問題なく動作しています。CATALINA_OPTS=-Duser.timezone=Asia/china を追加する必要がありますが、mac で launchd.conf の構文に等号「=」がないようです。私が見たのはスペースだけなので、プロパティファイルやTomcat用のファイルなどを追加する必要があるときは少し迷っています。私は何かを壊したくありませんし、それを行う正しい方法を持っていることを確認したいと思います. それは可能性が ?

CATALINA_OPTS -Duser.timezone=アジア/中国

読んでくれてありがとう

4

1 に答える 1

2

「=」記号は、特定のアプリケーションの構文に固有です。たとえば、bash は「key=value」を使用しますが、launchctlは csh と同様の構文「setenv key value」を使用します。

launchd.conf ($HOME/.launchd.confおよび/etc/launchd.conf) は、launchctl コマンドのスクリプトです

したがって、 の場合CATALINA_OPTS=-Duser.timezone=Asia/china、キー (環境変数、env var、または単に変数と呼ばれることが多い) はCATALINA_OPTSで、値は-Duser.timezone=Asia/chinaです。

私はいくつかの理由でこれを知っています。

  • 通常、環境変数名はすべて大文字です。
  • 環境変数名は、最初の「=」(またはスペース「」) の前に表示されます。
  • は、 Java の VM の-Dシステム プロパティの定義を示します。
    • Java のシステム プロパティのキー/値構文では、「キー=値」構文が使用されていることに注意してください。
    • Java システム プロパティには、ドット "." が含まれていることがよくあります。環境変数名はそうではありません。
    • したがって、キーはuser.timezoneで、値はAsia/chinaです。

余談ですAsia/chinaが、有効なタイムゾーンかどうかはわかりません。少なくとも私が見つけたリストによれば。しかし、中国には単一のタイムゾーンがあるため、おそらくうまくいくでしょう。

于 2009-12-22T21:12:33.127 に答える