从Java EE应用程序访问外部配置文件

时间:2010-09-27 19:28:59

标签: java file-io java-ee

我必须访问位于应用服务器文件系统目录中的配置文件,但它不是作为我的Java EE应用程序的一部分进行部署的。

在这种情况下,getResourceAsStream()会帮助我吗?

2 个答案:

答案 0 :(得分:2)

  在这种情况下,getResourceAsStream()会帮助我吗?

除非配置文件在类路径上,否则不行。您将使用java.io来执行您需要的操作,除非您可以说服appserver通过某种非标准方式为您提取它。

这将带您离开JavaEE领域,并冒着与appserver安全模型发生冲突的风险。

答案 1 :(得分:1)

在实时应用程序中,“外部配置”文件起着非常重要的作用。 外部化Property文件可以简化构建和部署过程。 因为它们被放置在外部位置(未包含在WAR文件中)的任何变化 这些不需要新的构建和部署。

为了对属性文件进行外部化,您只需要将属性文件放入 一个外部文件夹,并通过将其放在Classpath中使该文件夹可供JVM访问 如下所示。假设您将您的propety文件放在“C:\ conf”

  1. 将此文件夹添加到设置ENV或服务器启动脚本,如下所示。

    set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar;C:\conf
    
  2. 或者在Java Cmd之后添加如下。

    java -cp c:\conf yourClass
    
  3. 请在WEB-INF / Classes文件夹中使用“getResourceAsStream”读取此配置文件

    getClass().getClassLoader().getResource("Configuration.properties").getFile();