Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为不同的环境读取不同的属性文件?_Java_Spring_Tomcat - Fatal编程技术网

Java 如何为不同的环境读取不同的属性文件?

Java 如何为不同的环境读取不同的属性文件?,java,spring,tomcat,Java,Spring,Tomcat,我在maven中创建了一个web应用程序。我在本地和devunix机器上使用tomcat服务器。我需要使用两个不同的.properties文件,如local.properties和dev.properties(可能在不同的文件夹中)。我的疑问是“我们如何配置本地的tomcat和unix的tomcat box,以便在部署时读取不同的属性文件?”有什么不同的方法。最简单的方法是向JVM传递一个系统参数来标识环境,然后在jar中打包dev.properties和local.properties @Pr

我在maven中创建了一个web应用程序。我在本地和devunix机器上使用tomcat服务器。我需要使用两个不同的.properties文件,如local.properties和dev.properties(可能在不同的文件夹中)。我的疑问是“我们如何配置本地的tomcat和unix的tomcat box,以便在部署时读取不同的属性文件?”有什么不同的方法。最简单的方法是向JVM传递一个系统参数来标识环境,然后在jar中打包dev.properties和local.properties

@PropertySource(value = {"classpath:local.properties", "classpath:${ENVX}.properties"}, ignoreResourceNotFound = true)

如果未指定-DENVX=dev for dev(添加到tomcat脚本),则使用-DENVX=dev for dev(添加到tomcat脚本)。将拾取local.properties。

最简单的方法是将系统参数传递给JVM以标识环境,然后在jar中打包dev.properties和local.properties

@PropertySource(value = {"classpath:local.properties", "classpath:${ENVX}.properties"}, ignoreResourceNotFound = true)

如果未指定-DENVX=dev for dev(添加到tomcat脚本),则使用-DENVX=dev for dev(添加到tomcat脚本)。将获取本地属性。

可以使用spring的最简单的现成解决方案是有两个文件,命名为
application-dev.properties
application-prod.properties
,如果您通过
-Dspring.profiles.active=dev
prod
,则将激活该属性。您在部署应用程序时传递此参数。没有配置,没有注释,没有xml。只要保持命名约定
应用程序something.properties

spring最简单、现成的解决方案就是有两个文件,命名为
application-dev.properties
application-prod.properties
,如果您通过
-Dspring.profiles.active=dev
prod
,则将激活该属性。您在部署应用程序时传递此参数。没有配置,没有注释,没有xml。只要您保持命名约定
应用程序something.properties

我就不投票,因为似乎没有进行任何尝试:。我建议您花几分钟时间阅读:我投票结束这个问题,因为这个问题可能最好被问一个我不赞成的问题,因为它似乎没有尝试过:。我建议你们花几分钟时间读一读:我投票结束这个问题,因为这个问题最好先问一次