2017-11-20 17 views
0

私はSpring BootのアプリケーションをWARからTomcat serverに展開しています。 Tomcatサーバー上にすでに展開されているSpring Bootアプリケーションが、WARにバンドルされているファイルをオーバーライドするクラスパス上にapplication.propertiesというファイルを持っています。私のアプリケーションでは同じことをする必要がありますが、既に取られているので、application.propertiesという名前を使用することはできません。アプリケーションは、アプリケーション用のTomcatのクラスパスにapplication.propertiesを使用しようとしています。スプリングブートオーバーライドのプロパティ外部

myapp.propertiesという名前のクラスパス上のプロパティファイルまたはその行に沿ったものを探すようにSpring Bootに指示する方法はありますか?

私は以下のことを試みましたが、WARとしてデプロイすると動作しないようです。

@SpringBootApplication 
public class ParameterManagerApplication { 

    public static void main(String[] args) { 
     new SpringApplicationBuilder(ParameterManagerApplication.class) 
      .properties("spring.config.name:parameter-portal") 
      .build() 
      .run(args); 
    } 
} 

答えて

1

デフォルトでは、Springブートは、これらの場所にあるapplication.propertiesファイルを探します。だから、クラスパス

  • クラスパスのルート
  • 作業ディレクトリの
    1. の/ configサブディレクトリ
    2. 作業ディレクトリ
    3. 設定パッケージ我々は下myserver.propertiesを置いたときに、私たちのために働いていた以下のこれらの場所のいずれか。

      public static void main(String[] args){ 
          System.setProperty("spring.config.name","myserver"); 
          SpringApplication.run(Application.class,args); 
      } 
      

      それ以外の場合は、spring.config.locationを次のように設定してみてください。見上げている:(application.propertiesクラスパス)

      new SpringApplicationBuilder(Application.class) 
             .properties("spring.config.name:application,myserver", 
               "spring.config.location:classpath:/external/myproperties/") 
             .build().run(args); 
      
    +0

    #Simple properties [email protected] dev.port=9000 

    は、WARおよびJARの両方でこの作業を行います。 – greyfox

    0

    我々はまた、必要に応じて、我々はこれらのプロパティを保存しているカスタムソース、他のデフォルトの場所を定義することができます。自動的にこのオブジェクトに割り当てられている今、

    @Configuration 
    @PropertySource("classpath:configprops.properties") 
    @ConfigurationProperties(prefix = "dev") 
    public class ConfigProperties { 
        // previous code 
    } 
    

    プレフィックスDEVと性質のものと同じ名前を持つプロパティファイルで定義された任意のプロパティを:だから、私たちは今、既存のプロパティクラスに上記の注釈を追加します。それは私がWARの展開を行っているが、@PropertrySourceが仕事をした使用のために動作しませんので、チェックthis

    関連する問題