9

構成ファイルで使用しようとしても${HOSTNAME}機能しません! ドキュメントによると、ドキュメントに記載されているように、構成ファイルは環境変数を解決する必要があります。

構成自体で解決されない場合、置換は環境変数にフォールバックするため、 ${HOME} は期待どおりに機能します。また、ほとんどの構成にはシステム プロパティがマージされているため、${user.home} を使用できます。

ホスト名を設定ファイルに入れる方法はありますか?

再生ファイルに
追加host.name=${HOSTNAME}して、どこからでもアクセスしてみてください。application.confたとえば、追加してみてください

Logger.info(s"Hostname is ${current.configuration.getString("host.name").getOrElse("NOT-FOUND")}")

Global.scala

環境これは生成
する RHEL6 環境で実行されたため、環境変数が存在します。これはプログラムではありません。echo $HOSTNAMEprecise32hostname

4

3 に答える 3

8

-Dhost.name=$HOSTNAME解決策は、システムプロパティを介してまたはとしてホスト名を渡しているよう-Dhost.name=$(hostname)です。Windowsでは別のものになると思いますが、これは* NIX環境で機能します。

誰かがよりクリーンなものを思いつくことができない限り、これが受け入れられる答えになります。

于 2013-09-13T15:05:50.840 に答える
1

System.getenv("HOSTNAME")呼び出しが null 以外の値を返すかどうかを確認する必要があります。そうでない場合はHOSTNAME、Java ランタイムによると、env 変数ではありません。これは、それをタイプセーフ構成の構成プロパティにマッピングするために重要です。これを試してみましHOSTNAMEたが、bashでエコーできましたが、Javaではenv置換として利用できませんでした。私はそれをに変更しUSER、すべてが期待どおりに機能しました。

于 2013-09-12T21:24:10.237 に答える