web.xml中获取绝对${user.dir}

有时项目需要将配置文件单独放置的部署的应用包之外,以方便修改配置

比如,在web.xml中配置需要加载的log4j配置文件所在路径,一般常规的配置都是

<context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>WEB-INF/log4j.xml</param-value>
 </context-param>

log4j的配置文件放在WEB-INF目录下或者classpath中,

如若将log4j配置文件放置在${JBOSS_HOME}/bin目录或者其他目录下,则在web.xml中可以通过如下配置方式获取文件路径:

	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>file:${user.dir}/conf/log4j.xml</param-value>
	</context-param>

 其中${user.dir}是web容器启动脚本所在目录,即${JBOSS_HOME}/bin,通过加上file:前缀,则可以读取到文件的绝对路径,:file:${user.dir}/conf/log4j.xml

同理,在spring的配置文件中获取数据源jdbc.properties文件也可以用同样方法:

<context:property-placeholder location="file:${user.dir}/conf/jdbc.properties" />

 

你可能感兴趣的:(web.xml,log4j.xml,jdbc.properties,配置文件绝对路径)