質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • Java

    13766questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Spring Boot

    493questions

    Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

application.ymlファイルの使いみち

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 138

motisen

score 54

お世話になります。

現在のプロジェクトで application.yml には
・環境ごとの設定値(dbの接続先)
・一覧に表示するMAX値
が設定されています。

疑問に思っているのは、
>・一覧に表示するMAX値
の存在意義です。

設定ファイルをいじるだけで動作が変わるのは、確かに気が楽ではあるのですが、
結局はデプロイが必要です。

デプロイが結局必要ならば、ソースの中で定数として持っておくほうが良いと考えています。

一覧に表示するMAX値などは設定ファイルに持つのが良いのでしょうか。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

application.ymlはリソースの中だけではなく外部ファイルとして読み込むことができますので変更してもコンパイル、デプロイは不要です。プログラムの再実行するだけで良いですよ。

以下の優先順位でapplication.ymlの読み込みが行われますので起動時オプションで指定するか、実行フォルダの下にconfigという名前のフォルダ作成してそこにapplication.ymlを入れておけば良いです。

  1. java起動時のオプションに-Dspring.config.location=application.ymlのパスを指定する
  2. 実行するjarがあるフォルダの直下のconigフォルダ
  3. 実行するjarがあるフォルダ
  4. クラスパスのconfigパッケージ
  5. クラスパスのroot

【参考】24.3 Application Property Files
に以下の記載があります

 A /config subdirectory of the current directory
 The current directory
 A classpath /config package
 The classpath root

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/22 07:46

    ご回答有り難うございます。
    application.ymlをjarから出して運用すればメリットがあることがわかりました。
    ありがとうございます。

    現在のプロジェクトでは
    java -jar hoge.jar
    で起動しているので、昔のwarみたくpropertiesファイルがそこらへんに置かれないんですよね・・・。

    configフォルダ等を作成し、そこに置く運用にすれば、
    ・一覧に表示するMAX値
    はapplication.ymlに入れておくメリットはありそうです。

    丁寧にご回答頂き、ありがとうございました。

    キャンセル

0

アプリケーションの作り次第ではあるのですが、ymlであればコードの修正をせずに変更できる、くらいのメリットでしょうか。

こまめに変わる可能性があるなら稼働しているymlなどの設定だけ変更して、コンテナの再起動だけで反映できますから、ビルド→デプロイ作業が必須というわけでもありません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/22 07:56

    ご回答有り難うございます。
    現在 java -jar hoge.jar といった形で起動しているので、設定ファイルがjarの内部にしかないんです。
    configフォルダを作成し、そこにymlを置くやり方もあるとのことなので、そちらで行きたいと思います。
    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    rails4.2 herokuデプロイ後のNo such file or directory - ....

    herokuにデプロイ下後にログを確認すると No such file or directory - ./log/sidekiq.logとなります。 procfileに書いたコー

  • 解決済

    デプロイ後の更新の実務

    Djangoでアプリを作成し、VPS上にデプロイし、問題なく動くことを確認できました。 ただ、今後も改良を加えていくことになるので、今後アップデートする場合の実務について、知りた

  • 解決済

    gemfileの問題でHerokuにデプロイできない。

    gemfileの問題でHerokuにデプロイできない。 以下の設定をどうしたらいいのでしょうか。 source 'https://rubygems.org' # B

  • 解決済

    railsをHerokuにデプロイできない

    前提・実現したいこと ここに質問したいことを詳細に書いてください (例)PHP(CakePHP)で●●なシステムを作っています。 ■■な機能を実装中に以下のエラーメッセージが

  • 解決済

    Ruby on Rails × React の組み合わせがAmazon Elastic Beanst...

    前提・実現したいこと Ruby on Rails+React.jsでWEBアプリを作成しています。 そこで作成したアプリをAmazon Elastic Beanstalkでデプ

  • 受付中

    Djangogirlsでデプロイできない

    herokuのProcfileの置き場所 初めまして、最近PYTHONでプログラミングを始めた初心者です。 DjangoGirlsのチュートリアル(https://djangogi

  • 受付中

    rubyでec2デプロイでエラー

    おせわになります。 今現在、awsのec2でアプリ作成しています。サーバーはunicorn.enginxです。 DBはポスグレです。 機能を追加しようとして色々いじっていたらよく分

  • 解決済

    [デプロイ]Rails+Nginx+Unicorn+AWSで403Forbidden。

     現状 基本的にRailsアプリの/publicディレクトリがforbiddenとなり、 nginxの設定が不足しており、Railsアプリのルートに行き届いていない。 またt

同じタグがついた質問を見る

  • Java

    13766questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Spring Boot

    493questions

    Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。