gpt4 book ai didi

java - 应用程序在 tomcat 上启动时解析系统属性

转载 作者:行者123 更新时间:2023-12-01 11:04:19 25 4
gpt4 key购买 nike

所以我有我的 spring bott 应用程序:

@Configuration
@PropertySource("${configuration.file}")
public class Application extends SpringBootServletInitializer implements CommandLineRunner {
...
public static void main(String[] args) throws IOException {
SpringApplication app = new SpringApplication(Application.class);
System.setProperty("configuration.file","file:"+"path to my file");
app.run(args);
}
...

当我在 Windows 上运行我的应用程序时,configuration.file 设置正确,但是当我在 tomcat 服务器上运行它时,我得到:

Could not resolve placeholder 'configuration.file' in string value "${configuration.file}"

问题的原因可能是什么?

最佳答案

很明显,这是由于定义的@PropertySource注释的问题造成的。您需要定义属性文件的实际内容,例如要在该注释中定义的 xyz.properties。您还可以在那里提供占位符。理想的做法是,

@Configuration
@PropertySource("classpath:/com/${my.placeholder:default/path}/app.properties")
public class AppConfig {
@Autowired
Environment env;

@Bean
public TestBean testBean() {
TestBean testBean = new TestBean();
testBean.setName(env.getProperty("testbean.name"));
return testBean;
}

}

看看注释的不同示例 here

关于java - 应用程序在 tomcat 上启动时解析系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com