Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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

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 在spring中加载外部属性文件?_Java_Spring - Fatal编程技术网

Java 在spring中加载外部属性文件?

Java 在spring中加载外部属性文件?,java,spring,Java,Spring,我有下面的spring配置。我正在使用Spring3和windows操作系统 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>file:/extprops/conf/usercred.properties</val

我有下面的spring配置。我正在使用Spring3和windows操作系统

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
    <list>
      <value>file:/extprops/conf/usercred.properties</value>
    </list>
  </property>
  <property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>

文件:/extprops/conf/usercred.properties

在上面的配置中,我试图加载外部属性文件
文件:/extprops/conf/usercred.properties
,它正在工作。这里我没有指定属性文件所在的驱动器位置。是否需要在路径中指定驱动器信息,如
C
D
驱动器?我是否需要将App server和属性文件保持在同一驱动器中

如果您不指定驱动器,它将使用当前工作目录中的驱动器,该目录是您在启动进程期间使用的。因此,它可以工作,但不可靠-如果您从不同的驱动器通过链接等方式运行该进程,则可能无法工作。因此,也要指定驱动器,如下所示:

file:///C:/extprops/conf/usercred.properties

更多信息:

此外,更好的/标准方法是在系统中创建一个环境变量,其值将包含属性文件的路径

然后在配置文件中,您可以编写为:

file:${your.prop.folder}/myproperties.properties.

当您的属性文件位置发生更改时,这样可以省力。

我认为属性文件应该位于类路径上,这是它的正确位置…因为这样它独立于路径,所以如果操作系统是windows或linux,它就不会有任何问题。

如果它在没有驱动器号的情况下工作,因为它正在工作,显然您不需要指定驱动器名。:)我是否需要将应用服务器和属性文件保持在同一个驱动器中?以这种方式编写URL不是个好主意。只需将环境变量用作
your.prop.url
,就可以传递任何url,而不仅仅是其片段。您能提供示例吗?