春ブートアプリケーションでのフライウェイのライセンスの問題を解決する方法

X-人間:

起動しないフライウェイのエンタープライズライセンスを使用し、次のメッセージを言う私の春ブートアプリケーション:

Caused by: org.flywaydb.core.api.FlywayException: Missing license key. 
Ensure flyway.licenseKey is set to a valid Flyway license key ("FL01" followed by 512 hex chars)

ライセンスは、実際に欠落していません。私は両方のenv変数として、名前バネ>>フライウェイ>> licenseKeyとapplication.ymlファイルに設定しようとしましたが、それは全く反応していません。

問題が隠される可能性が任意のアイデア?これが問題になることはありませんので、他のenv変数は、データベース用のスプリングブーツによって検討されています。

トッド:

この良い議論がありますGitHubの上でその問題によると、このプロパティベースのバージョンは、春ブーツ2.2のロードマップ上にあるように見えます。

どうやら今のあなたは、実装する必要がありますFlywayConfigurationCustomizer(未テスト)を:

@Configuration
public class FlywayConfiguration {
    @Bean
    public FlywayConfigurationCustomizer customizeLicense(
                 @Value("${my-app.flyway.license}") String license) {
        return new FlywayConfigurationCustomizer() {

            @Override
            public void customize(FluentConfiguration configuration) {
                configuration.licenseKey(license);
            }
        };
    }
}

私はおそらく(もテストされていない)ラムダに簡素化することができると思います...

@Configuration
public class FlywayConfiguration {
    @Bean
    public FlywayConfigurationCustomizer customizeLicense(
                 @Value("${my-app.flyway.license}") String license) {
        return configuration -> configuration.licenseKey(license);
    }
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=178491&siteId=1