Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java =================================================================== diff -u -r17512 -r17596 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 17512) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 17596) @@ -1,8 +1,8 @@ package com.forgon.disinfectsystem.common; import java.io.BufferedReader; +import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -49,6 +49,7 @@ import com.forgon.tools.Path; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.PathUtils; /*** * @@ -57,7 +58,7 @@ * Date:2014-12-30下午12:20:51 */ public class CssdUtils { - private Logger logger = Logger.getLogger(CssdUtils.class); + private static Logger logger = Logger.getLogger(CssdUtils.class); private static Properties prop = null; /** @@ -474,29 +475,55 @@ public static String getProjectName(){ return getConfigProperty("project"); } + + /** + * 获取jdbc.properties文件中的属性 + * @param propertyName + * @return + */ public static String getConfigProperty(String propertyName){ String propFileName = "jdbc.properties"; InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(propFileName); - - String value = "defaults"; - if (prop == null){ - prop = new Properties(); - try { - if (in != null) { - prop.load(in); - - } else { - throw new FileNotFoundException("属性文件'" - + propFileName + "'在类路径中未找到!"); - } + + if (in == null){ + try{ + // 在类路径中未找到属性文件,可能是运行单元测试,通过项目的相对路径进行查找 + String webAppRoot = PathUtils.getWebAppRootPath(); + String propFilePath = webAppRoot + "/WEB-INF/classes/" + propFileName; + File propFile = new File(propFilePath); + in = new FileInputStream(propFile); + } + catch(IOException e){ + e.printStackTrace(); + } + } + + String value = "defaults"; + + if (in != null){ + + if (prop == null){ + prop = new Properties(); + } + + try{ + prop.load(in); in.close(); - } catch (IOException e) { + } + catch(IOException e){ e.printStackTrace(); } } - value = prop.getProperty(propertyName); + else{ + logger.warn("属性文件'" + propFileName + "'在类路径中未找到!"); + } + + if (prop != null){ + value = prop.getProperty(propertyName); + } + return value; }