0

to/uses-spring.config.location=app.propertiesプロパティを使用して構成場所を提供する展開環境があります。この投稿とこのgithub-brで述べたように、現在の springboot バージョン、つまり2.2.5.RELEASEプロパティの動作が変更されていることに気づきませんでした。予想どおりspring.config.additional-location、jar からもデフォルト値を選択するように使用する必要がありました。

ただし、問題は、同じスプリング ブート バージョンを持つ同じ環境内の別のアプリケーション、つまり 2.2.5.RELEASEspring.config.locationが古い方法で動作していることです。だから、例えば、他のアプリが持っていて、私たちのアプリが持っていない他の依存関係のために、それがどのように起こっているのかまだ疑問に思っていますか?

どのコードが原因で動作が古いバージョンに戻るのかわからないため、どのコード例を提供すればよいかわかりません。ただし、2 つのアプリの実装には次のような違いがあります。

  1. もう 1 つのアプリは @Value アノテーションを使用します。私たちのアプリは @ConfigurationProperties を使用してプロパティ値を読み込みます。使用してみましたが、構成の場所の動作は元に戻りませんでした。
  2. 彼らが使用したいくつかのクラスで@PropertySource(value = "classpath:application.properties")
  3. 他のアプリは比較的古く、何らかの違いがある場合は、スプリングブートのバージョンをアップグレードしています。

これらは、私が今のところ見つけることができるいくつかの違いです. ただし、この動作の変化の原因がわからない場合は、助けてください。

4

1 に答える 1

0

それを使用することで@PropertySource、動作に違いが生じているのではないかと思います。どのように構成されているかに関係なく、クラスパスで見つかっ@PropertySource("classpath:application.properties")た最初のリソースからプロパティをロードします。application.propertiesspring.config.locationspring.config.additional-location

于 2020-06-30T11:25:52.500 に答える