Java 环境中没有应用程序属性
我有一个包含在Spring应用程序中的日志库。有一个初始化:Java 环境中没有应用程序属性,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个包含在Spring应用程序中的日志库。有一个初始化: package my.project.logger; import org.springframework.boot.context.properties.bind.Binder; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationCon
package my.project.logger;
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
public class MyLibClass implements
ApplicationContextInitializer<ConfigurableApplicationContext> {
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
final ConfigurableEnvironment environment = applicationContext.getEnvironment();
final Binder binder = Binder.get(environment);
String log = binder.bind("logger.log", Bindable.of(String.class))
.orElseThrow(() -> new IllegalArgumentException(
"Mandatory log name is not specified."));
}
}
包my.project.logger;
导入org.springframework.boot.context.properties.bind.Binder;
导入org.springframework.context.ApplicationContextInitializer;
导入org.springframework.context.ConfigurableApplicationContext;
导入org.springframework.core.env.ConfigurableEnvironment;
公共类MyLibClass实现
ApplicationContextInitializer{
@凌驾
public void初始化(ConfigurableApplicationContext applicationContext){
final ConfigurableEnvironment=applicationContext.getEnvironment();
最终活页夹=活页夹.get(环境);
String log=binder.bind(“logger.log”,Bindable.of(String.class))
.orelsetrow(()->新的IllegalArgumentException(
“未指定必需的日志名。”);
}
}
它只在spring boot starter web
上运行良好,但在插入spring cloud gcp starter
时,由于没有此类属性而失败
对于spring cloud gcp starter,您能否告知此处可能出现的错误以及为什么环境不包含application.properties?您是否检查了以下内容:您是否尝试了
@Configuration
上的MyLibClass
@丹尼弗里德,是的,这正是我要找的!谢谢!