public static Map<String, String> loadSetting(String filePath) {
        loadSetting = new HashMap();
        Map finalResult = new HashMap();
        String filePathMD5 = MD5Utils.MD5(filePath);
        if (!loadSetting.containsKey(filePathMD5)) {
            String configBaseDir = "", outputDirectory = "", versionInfo = "";
            URL url = FileUtils.class.getClassLoader().getResource(filePath);
            if (null != url) {
                Properties prop = new Properties();
                try {
                    prop.load(new InputStreamReader(FileUtils.class.getClassLoader().getResourceAsStream(filePath), "UTF-8"));
                } catch (IOException ex) {
                    NoticeMessageJFrame.noticeMessage(ex.getClass() + ":" + ex.getMessage());
                }
                if (!prop.getProperty("configBaseDir", "").isEmpty()) {
                    configBaseDir = prop.getProperty("configBaseDir");

                }
                if (!prop.getProperty("outputDirectory", "").isEmpty()) {
                    outputDirectory = prop.getProperty("outputDirectory");
                }

                if (!prop.getProperty("versionInfo", "").isEmpty()) {
                    versionInfo = prop.getProperty("versionInfo");
                }

                finalResult.put("configBaseDir", configBaseDir);
                finalResult.put("outputDirectory", outputDirectory);
                finalResult.put("versionInfo", versionInfo);
            }
        } else {
            finalResult = loadSetting.get(filePathMD5);
        }

        return finalResult;
    }