def run_client_jar(jarfile, klass, args, daemon=False, client=True, extrajvmopts=[]):
    global DEP_JARS_OPTS, DEP_ARTIFACTS_OPTS, DEP_ARTIFACTS_REPOSITORIES_OPTS, DEP_MAVEN_LOCAL_REPOSITORY_DIRECTORY, DEP_PROXY_URL, DEP_PROXY_USERNAME, DEP_PROXY_PASSWORD
    local_jars = DEP_JARS_OPTS
    artifact_to_file_jars = resolve_dependencies(DEP_ARTIFACTS_OPTS, DEP_ARTIFACTS_REPOSITORIES_OPTS, DEP_MAVEN_LOCAL_REPOSITORY_DIRECTORY, DEP_PROXY_URL, DEP_PROXY_USERNAME, DEP_PROXY_PASSWORD)
    extra_jars = [jarfile, USER_CONF_DIR, STORM_BIN_DIR]
    extra_jars.extend(local_jars)
    extra_jars.extend(artifact_to_file_jars.values())
    exec_storm_class(klass, jvmtype='-client', extrajars=extra_jars, args=args, daemon=False, jvmopts=((((JAR_JVM_OPTS + extrajvmopts) + [('-Dstorm.jar=' + jarfile)]) + [('-Dstorm.dependency.jars=' + ','.join(local_jars))]) + [('-Dstorm.dependency.artifacts=' + json.dumps(artifact_to_file_jars))]))
def run_client_jar(jarfile, klass, args, daemon=False, client=True, extrajvmopts=[]):
    global DEP_JARS_OPTS, DEP_ARTIFACTS_OPTS, DEP_ARTIFACTS_REPOSITORIES_OPTS, DEP_MAVEN_LOCAL_REPOSITORY_DIRECTORY, DEP_PROXY_URL, DEP_PROXY_USERNAME, DEP_PROXY_PASSWORD
    local_jars = DEP_JARS_OPTS
    artifact_to_file_jars = resolve_dependencies(DEP_ARTIFACTS_OPTS, DEP_ARTIFACTS_REPOSITORIES_OPTS, DEP_MAVEN_LOCAL_REPOSITORY_DIRECTORY, DEP_PROXY_URL, DEP_PROXY_USERNAME, DEP_PROXY_PASSWORD)
    extra_jars = [jarfile, USER_CONF_DIR, STORM_BIN_DIR]
    extra_jars.extend(local_jars)
    extra_jars.extend(artifact_to_file_jars.values())
    exec_storm_class(klass, jvmtype='-client', extrajars=extra_jars, args=args, daemon=False, jvmopts=((((JAR_JVM_OPTS + extrajvmopts) + [('-Dstorm.jar=' + jarfile)]) + [('-Dstorm.dependency.jars=' + ','.join(local_jars))]) + [('-Dstorm.dependency.artifacts=' + json.dumps(artifact_to_file_jars))]))