读取Web项目外的配置文件

    Java做好的Web项目做好后要打成War包,而一些与环境相关的配置参数也打在包中,修改不方便。
这时可以把配置文件的存放目录写到环境变量的classpath中,这样就可以直接通过函数调用配置文件了。
我用的是.properties配置文件。
//读取函数如下
public String getProperties(String key)   
{   
    try {   
        String value = "";
        String fileName = "config.properties";//配置文件名称
        InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileName);//可得到classpath下的配置文件的输入流      
        Properties propFile = new Properties();//新建属性文件
        propFile.load(is); //读取配置文件输入流  
        is.close(); //关闭输入流  
        if(propFile.containsKey(key)){    //获取配置文件中的参数值
            value = propFile.getProperty(key);   
            return value;   
        }else  
            return value;   
    } catch (FileNotFoundException e) {   
        e.printStackTrace();   
        return "";   
    } catch (IOException e) {   
        e.printStackTrace();   
        return "";   
    } catch (Exception ex) {   
        ex.printStackTrace();   
        return "";   
    }   
}//end getProperties()

    用MyEclipse测试的时候一直报错,后来使用命令行调试的时候没有问题,能正确读取到参数值。
个人认为是使用MyEclipse时项目中也存在classpath,所以运行的时候没有调用环境变量的classpath导致。

具体原因有待测试后才能下结论。

 

-----------------------有点小邪恶的分割线--------------------------------------

经过测试发现是Eclipse会自行设置classpath,而不会使用环境变量的classpath。

直接运行会报 FileNotFoundException 。

解决办法:在Eclipse中添加classpath参数

Run -> Run Configurations -> Classpath -> Advanced .. -> Add Variable String

选 env_var ,Argument 处填:CLASSPATH 。这样就可以使用环境变量classpath了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值