tomcat中设置全局变量实现配置文件和项目分离
由于项目中使用的文件较多,每次上线需要将包中的properties文件删除比较麻烦,所以需要将这些配置文件放在服务器一个指定的目录中,这样项目中就不包含这些配置文件方便部署。
那么如何加载这些配置文件?
1.通过设置tomcat的vm options来参数来加载配置文件,先在指定的目录中放入需要加载的配置文件,然后在tomcat的bin目录中找到catalina.bat文件,linux系统中为.sh文件,增加”set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
-Dglobal.config.path=G:\yididuocang\”
前面是设置的虚拟机内存参数,起作用的是”-Dglobal.config.path=G:\yididuocang\”是这个变量.
如果是开发环境,我们可以直接通过开发工具设置vm options ,因为我用的是idea,下面举例
2.我们项目中是spring加载的配置文件,所以只用修改相关的xml文件即可加载指定目录下的配置文件
<bean id="configPropertiesTest" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>file:${global.config.path}/opc/opc-business/jdbc.write.properties</value>
<value>file:${global.config.path}/opc/opc-business/jdbc.read.properties</value>
</list>
</property>
</bean>
spring可以用来加载少量的配置文件,如果配置文件量多,推荐第一种
因为项目中遇到此问题,在网上找到答案,此处内容出处学习来至以下地方