@CliCommand(value = {CliStrings.LIST_DEPLOYED}, help = CliStrings.LIST_DEPLOYED__HELP)
  @CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_CONFIG})
  @ResourceOperation(resource = ResourcePermission.Resource.CLUSTER,
      operation = ResourcePermission.Operation.READ)
  public ResultModel listDeployed(@CliOption(key = {CliStrings.GROUP, CliStrings.GROUPS},
      help = CliStrings.LIST_DEPLOYED__GROUP__HELP) String[] group) {

    Set<DistributedMember> targetMembers = findMembers(group, null);
    if (targetMembers.isEmpty()) {
      return ResultModel.createInfo(CliStrings.NO_MEMBERS_FOUND_MESSAGE);
    }

    ResultModel result = new ResultModel();
    TabularResultModel tabularData = result.addTable("jars");

    List<CliFunctionResult> functionResults = executeAndGetFunctionResult(listDeployedFunction,
        null, targetMembers);

    DeploymentInfoTableUtil.writeDeploymentInfoToTable(
        new String[] {"Member", "JAR", "JAR Location"}, tabularData,
        DeploymentInfoTableUtil.getDeploymentInfoFromFunctionResults(functionResults));

    if (tabularData.getRowSize() == 0) {
      return ResultModel.createInfo(CliStrings.LIST_DEPLOYED__NO_JARS_FOUND_MESSAGE);
    }

    return result;
  }
List all currently deployed JARs for members of a group or for all members.

@param group Group for which to list JARs or null for all members
@return List of deployed JAR files
geode-gfsh/src/main/java/org/apache/geode/management/internal/cli/commands/ListDeployedCommand.java