私は春のブートを使用しており、スタンドアロンのtomcatの戦争として展開しています。以下は私のアプリケーションクラスです。外部のapplication.propertiesファイル名を変更するには?
public class APIApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
configureApplication(new SpringApplicationBuilder()).run(args);
}
public static SpringApplicationBuilder configureApplication(SpringApplicationBuilder builder) {
return builder.sources(APIApplication .class).properties(getProperties());
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(APIApplication .class);
}
public static Properties getProperties() {
Properties props = new Properties();
props.setProperty("spring.config.location",
"/home/config_directory/");
props.setProperty("spring.config.name", "apiapplication");
return props;
}
}
しかし、これは動作しませんし、すべてのヘルプは高く評価され/home/config_directory/apiapplication.properties
から読み取れません。
EDIT
も試み
public static void main(String[] args) {
System.setProperty("spring.config.location","/home/config_directory/");
System.setProperty("spring.config.name", "apiapplication.properties");
SpringApplication.run(DriverguidanceapiApplication.class, args);
//configureApplication(new SpringApplicationBuilder()).run(args);
}
はあまりにも動作しませんでした。
あなたのファイル名は 'apiapplication.properties'ですか、それから正確に 'spring.config.name'に渡してください。また、これらのプロパティーは非常に早い段階でJVMに渡されなければなりません(ドキュメントに従って)、-Dフラグを使ってJVMを実行し、そこで設定オプションを渡してみてください。それはここから読むことができます:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html –
はいファイル名はapiapplication.propertiesです – Ricky
試しましたか?起動時に-DがJVMに渡されますか? –