我创建了一个 Spring Boot 项目,其中包含一个名为 wmdl_app.properties 的属性文件,它位于 src/main/config 中,其中包含一些配置和一些凭据,需要根据项目运行的环境进行更改。我在 tomcat 文件夹->instance-config 中也有这个文件
似乎我为这个项目所做的配置是错误的,因为它不是从 Tomcat 中的 instance-config 文件夹中读取带有属性的文件,而是从 src/main/config 中读取文件。
为了使应用程序查看该文件的 instance-config 文件夹而不是类路径,我应该进行哪些更改?
我的 pom 包含对资源的引用,如果删除,会导致我的项目失败,因为它找不到属性文件和 log4j 配置 - 它们都放在 src/main/config
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
<resource>
<directory>${project.basedir}/src/main/config</directory>
</resource>
</resources>
包含对属性文件的引用的类,我在整个应用程序的其他任何地方都没有它:
@SpringBootApplication( scanBasePackages = {"com.db.wmdl.glue2g.*","com.db.wmdl.fo.service","com.db.wmdl.fo.persistence", "com.db.wmdl.fo.serversync"})
@PropertySource("classpath:wmdl_app.properties")
@EnableScheduling
public class Application {
@PostConstruct
public void init() throws IOException {
LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);
context.setConfigLocation(new ClassPathResource("log4j-dl-fo-config.xml").getURI());
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
请告诉我应该更改什么以使其从 Tomcat 的 instance-config 文件中获取属性。