Java 使用tomcat文件夹中的属性文件,而不是类路径

Java 使用tomcat文件夹中的属性文件,而不是类路径,java,spring,tomcat,Java,Spring,Tomcat,我创建了一个Spring引导项目,其中包含一个名为wmdl_app.properties的属性文件,位于src/main/config中,其中包含一些配置和一些凭据,这些配置和凭据需要根据项目运行的环境进行更改。我在tomcat文件夹->实例配置中也有这个文件 似乎我为这个项目所做的配置是错误的,因为它不是从Tomcat的instance config文件夹中读取带有属性的文件,而是从src/main/config读取该文件 为了让应用程序查看该文件的实例配置文件夹而不是类路径,我应该做哪些更改

我创建了一个Spring引导项目,其中包含一个名为wmdl_app.properties的属性文件,位于src/main/config中,其中包含一些配置和一些凭据,这些配置和凭据需要根据项目运行的环境进行更改。我在tomcat文件夹->实例配置中也有这个文件

似乎我为这个项目所做的配置是错误的,因为它不是从Tomcat的instance config文件夹中读取带有属性的文件,而是从src/main/config读取该文件

为了让应用程序查看该文件的实例配置文件夹而不是类路径,我应该做哪些更改

我的pom包含对资源的引用,如果删除,将导致我的项目失败,因为它找不到属性文件和log4j config-它们都放在src/main/config中

<resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/config</directory>
            </resource>
        </resources>
请告诉我应该更改什么以使其从Tomcat的实例配置文件中获取属性。

提到了传入spring.config.location变量的可能性,该变量可用于指示spring Boot应在何处查找资源。我不确定您是否可以同时拥有这两个属性(JAR中的属性和外部的属性)。

提到了传入spring.config.location变量的可能性,该变量可用于指示spring Boot应该在何处查找资源。但我不确定您是否可以同时拥有这两个属性(JAR中的属性加上外部的属性)。

根据代码

@PropertySource("classpath:wmdl_app.properties")
属性文件是从类路径读取的。因此,src/main/resources中的任何内容都应该放在JAR中的类路径下

@PropertySource(value = {"classpath:wmdl_app.properties", "file:/absolute/path/to/file"})
可用于从文件位置直接读取属性文件

既然您提到项目运行的地方是特定于环境的,那么您可以将其替换为我们

因此,您可以根据代码拥有wmdl_app_dev.properties和wmdl_app_qa.properties

@PropertySource("classpath:wmdl_app.properties")
属性文件是从类路径读取的。因此,src/main/resources中的任何内容都应该放在JAR中的类路径下

@PropertySource(value = {"classpath:wmdl_app.properties", "file:/absolute/path/to/file"})
可用于从文件位置直接读取属性文件

既然您提到项目运行的地方是特定于环境的,那么您可以将其替换为我们

因此,您可以拥有wmdl_app_dev.properties和wmdl_app_qa.properties