问题描述
web项目和非web项目取法不一样啊,本人用的tomcat
解决方案
解决方案二:
Stringweb_inf=getServletContext().getRealPath("/WEB-INF/");获取到WEB-INF的地址,剩下的路径自己拼接吧。如果是classes下面的配置文件,可以直接使用Thread.currentThread().getContextClassLoader().getResource("/").getPath();剩下的路径,就自己拼接吧参考
解决方案三:
如果单据是某个类比如javabeanpublicstaticvoidmain(Stringargs[]){Propertiesp=newProperties();try{Stringpath=Test.class.getClass().getResource("/").getPath();path=path.substring(1,path.indexOf("classes"));p.load(newFileInputStream(path+"parameter.properties"));//读出具体的参数System.out.println("mysql_url="+p.get("mysql_url"));System.out.println("mysql_user="+p.get("mysql_user"));System.out.println("mysql_password="+p.get("mysql_password"));}catch(Exceptione){e.printStackTrace();}}
解决方案四:
这个实质是获取web-inf文件路径。。。使用getServletContext().方式不好,因为只能在web服务器启动的情况下使用。Thread.currentThread().getContextClassLoader().也不好,,因为ClassLoader是可以被框架或者服务器动态改变的。。有些情况下路径就不对了我总结的较好的方法主要思路如下:1.得到CLASS路径值。。2.得到其父路径,即WEB-INF的路径值。3.得到完整的WEB-INFWEB.XML的路径值这样在不启动web服务器的情况下,main函数也可以读取到web-inf下的配置
解决方案五:
真是各有各的方法,了解!