public static String getUserHome() {
		String userHomeFromEnv = System.getenv("NGRINDER_HOME");
		String userHomeFromProperty = System.getProperty("ngrinder.home");
		if (!StringUtils.equals(userHomeFromEnv, userHomeFromProperty)) {
			CoreLogger.LOGGER.warn("The path to ngrinder-home is ambiguous:");
			CoreLogger.LOGGER.warn("    System Environment:  NGRINDER_HOME=" + userHomeFromEnv);
			CoreLogger.LOGGER.warn("    Java System Property:  ngrinder.home=" + userHomeFromProperty);
			CoreLogger.LOGGER.warn("    '" + userHomeFromProperty + "' is accepted.");
		}
		String userHome = StringUtils.defaultIfEmpty(userHomeFromProperty, userHomeFromEnv);

		if (isEmpty(userHome)) {
			userHome = System.getProperty("user.home") + File.separator + NGRINDER_DEFAULT_FOLDER;
		} else if (StringUtils.startsWith(userHome, "~" + File.separator)) {
			userHome = System.getProperty("user.home") + File.separator + userHome.substring(2);
		} else if (StringUtils.startsWith(userHome, "." + File.separator)) {
			userHome = System.getProperty("user.dir") + File.separator + userHome.substring(2);
		}
		return FilenameUtils.normalize(userHome);
	}
/*.*");
				for (Resource resource : resources) {
					String scriptTemplatePath = home.getScriptTemplateDirectory().getAbsolutePath();
					scriptTemplatePath += getSubPath(PATH_SCRIPT_TEMPLATE_DIRECTORY, resource.getURL().getPath());
					copyResourceToFile(resource, new File(scriptTemplatePath));
				}
			} catch (IOException e) {
				throw new NGrinderRuntimeException("Error while copying script templates.", e);
			}
		}
	}

	public File getHomeScriptTemplateDirectory() {
		File scriptTemplateDirectory = home.getScriptTemplateDirectory();
		if (!scriptTemplateDirectory.exists()) {
			copyScriptTemplates();
		}
		return scriptTemplateDirectory;
	}

	/**
Resolve nGrinder home path.

@return resolved home
ngrinder-controller/src/main/java/org/ngrinder/infra/config/Config.java