Properties 在cloudbees环境中访问属性文件

Properties 在cloudbees环境中访问属性文件,properties,resources,filepath,cloudbees,Properties,Resources,Filepath,Cloudbees,以下是我的问题的简化: 我有以下文件:src/main/resources/configs/config.properties 该文件有一个属性:uselive=true 我想从Cloudbees平台上托管的java web应用程序访问此文件并读取其内容 我应该使用什么访问路径来读取此文件?您不能依赖文件系统RUN@Cloud. 文件系统不是持久的,也不是分布式的,所以当应用程序(重新)部署时,它将得到一个新的节点,其中包含空的文件系统,或者如果在集群上扩展,所有节点将看不到一致的文件 我们提供

以下是我的问题的简化:

我有以下文件:src/main/resources/configs/config.properties
该文件有一个属性:uselive=true

我想从Cloudbees平台上托管的java web应用程序访问此文件并读取其内容


我应该使用什么访问路径来读取此文件?

您不能依赖文件系统RUN@Cloud. 文件系统不是持久的,也不是分布式的,所以当应用程序(重新)部署时,它将得到一个新的节点,其中包含空的文件系统,或者如果在集群上扩展,所有节点将看不到一致的文件


我们提供用于处理应用程序配置的。如果您喜欢此选项,也可以将系统属性配置放入文件系统,因为您不能依赖此选项RUN@Cloud. 文件系统不是持久的,也不是分布式的,所以当应用程序(重新)部署时,它将得到一个新的节点,其中包含空的文件系统,或者如果在集群上扩展,所有节点将看不到一致的文件


我们提供用于处理应用程序配置的。如果您喜欢此选项,您也可以将系统属性配置放入

通常,您将使用类加载器访问部署在WEB-INF文件夹中的资源:

因此,类似于以下内容的内容将为您提供一条流:

getClassLoader().getResourceAsStream("configs/config.properties");

通常,您将使用类加载器访问部署在WEB-INF文件夹中的资源:

因此,类似于以下内容的内容将为您提供一条流:

getClassLoader().getResourceAsStream("configs/config.properties");

不过,感谢Nicolas,这个文件是分发战的一部分,所以它将与代码一起部署。在WAR文件中,可以在/app-0.0.1-SNAPSHOT/WEB-INF/classes/configs/中找到它,我只是不知道它在cloudbees中部署时将采用什么路径。如果在
WEB-INF/classes
中,那么您可以使用
getClassLoader().getResourceAsStream(“/configs/config.properties”)
如果文件位于
WEB-INF/lib/*.jar中的
.jar
中,也可以这样做,否则您需要通过
ServletContext
访问
.war
中的文件,谢谢Nicolas,但是,此文件是分发战的一部分,因此它将与代码一起部署。在WAR文件中,可以在/app-0.0.1-SNAPSHOT/WEB-INF/classes/configs/中找到它,我只是不知道它在cloudbees中部署时将采用什么路径。如果在
WEB-INF/classes
中,那么您可以使用
getClassLoader().getResourceAsStream(“/configs/config.properties”)
如果文件位于
WEB-INF/lib/*.jar中的
.jar
中,也可以使用该方法,否则您需要通过
ServletContext
访问
.war
中的文件