application.yml 未在 spring boot 2 应用程序中加载 apache-cxf
application.yml is not loading in spring boot 2 application with apache-cxf
我是使用 apache-cxf 的 spring boot2 的新手。我正在尝试加载 yml 属性,但它返回的是空对象。
当我使用 spring.config.location=classpath:application.yml 时,它正在正确加载。如果我什么都不给,那么它就不会加载 application.yml.
我把applicatin.yml是src\main\resources
这是我的示例代码:
@SpringBootApplication
@ComponentScan(basePackages = {"com.ironmountain"})
@ConfigurationPropertiesScan(basePackages = {"com.ironmountain"})
@EnableCaching
public class Boot2Main extends SpringBootServletInitializer {
private static final IrmLogger IRMLOGGER = IrmLoggerFactory.getIrmLogger(Boot2Main.class);
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Boot2Main.class);
}
public static void main(String[] args) {
IRMLOGGER.debug("Starting Customer Facing web app");
SpringApplication.run(Boot2Main.class, args);
}
}
Jaxrs configuration:
@Bean
public JAXRSServerFactoryBean getJAXRSServerFactoryBean() {
JAXRSServerFactoryBean factoryBean = new JAXRSServerFactoryBean();
factoryBean.setBus(bus);
factoryBean.setProviders(getProviders());
factoryBean.setServiceBeans(getJaxrsResources());
factoryBean.setInInterceptors(getInInterceptors());
factoryBean.setFeatures(getFeatures());
factoryBean.setOutInterceptors(getOutInterceptors());
factoryBean.setOutFaultInterceptors(getOutInterceptors());
factoryBean.setAddress("/");
irmLogger.debug("JAX-RS Server Factory Beans added");
return factoryBean;
}
apache-cxf version =3.3.7
Spring boot version = 2.3.1
external tomcat = 9.0.36
Appreciate your help
由于我在 tomcat setenv.bat 属性中配置了 -Dspring.config.location 属性,spring 引导仅加载那些 yml 文件。
如果你想从外部文件夹加载文件,那么我们必须使用新的属性
-Dspring.config.additional-位置而不是-Dspring.config.location
上面属性改完之后就开始工作了
我是使用 apache-cxf 的 spring boot2 的新手。我正在尝试加载 yml 属性,但它返回的是空对象。
当我使用 spring.config.location=classpath:application.yml 时,它正在正确加载。如果我什么都不给,那么它就不会加载 application.yml.
我把applicatin.yml是src\main\resources 这是我的示例代码:
@SpringBootApplication
@ComponentScan(basePackages = {"com.ironmountain"})
@ConfigurationPropertiesScan(basePackages = {"com.ironmountain"})
@EnableCaching
public class Boot2Main extends SpringBootServletInitializer {
private static final IrmLogger IRMLOGGER = IrmLoggerFactory.getIrmLogger(Boot2Main.class);
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Boot2Main.class);
}
public static void main(String[] args) {
IRMLOGGER.debug("Starting Customer Facing web app");
SpringApplication.run(Boot2Main.class, args);
}
}
Jaxrs configuration:
@Bean
public JAXRSServerFactoryBean getJAXRSServerFactoryBean() {
JAXRSServerFactoryBean factoryBean = new JAXRSServerFactoryBean();
factoryBean.setBus(bus);
factoryBean.setProviders(getProviders());
factoryBean.setServiceBeans(getJaxrsResources());
factoryBean.setInInterceptors(getInInterceptors());
factoryBean.setFeatures(getFeatures());
factoryBean.setOutInterceptors(getOutInterceptors());
factoryBean.setOutFaultInterceptors(getOutInterceptors());
factoryBean.setAddress("/");
irmLogger.debug("JAX-RS Server Factory Beans added");
return factoryBean;
}
apache-cxf version =3.3.7
Spring boot version = 2.3.1
external tomcat = 9.0.36
Appreciate your help
由于我在 tomcat setenv.bat 属性中配置了 -Dspring.config.location 属性,spring 引导仅加载那些 yml 文件。
如果你想从外部文件夹加载文件,那么我们必须使用新的属性
-Dspring.config.additional-位置而不是-Dspring.config.location
上面属性改完之后就开始工作了