¿Cómo se hacen banderas para argumentos de línea de comandos en Java? [cerrado]

Tengo una enumeración para 25 aplicaciones y una enumeración para algunos entornos.

En este momento con el código que tengo, no puedo pasar argumentos y ejecuta toda la aplicación en todos los entornos (que es lo que quiero) o puedo pasar una aplicación y un entorno en ese orden. Necesito poder pasar una lista de aplicaciones haciendo algo como -app app1 app2 app3 ... -env env1 env2 ...

Nunca he usado banderas antes o intentado analizar una serie de comandos antes. Aquí hay parte del código. Creo que el if es bueno pero el otro es donde necesito ayuda.

public static Application chooseAppTest(String[] args) 
    {
        Application application = null;

        switch (Application.valueOf(args[0]))
        {
        case ACCOUNTINVENTORY:
            new AccountInventory(Environment.valueOf(args[1]));
            AccountInventory.accountInventoryDatabaseTests(testResults);
            break; 

public static void main(String[] args) 
{
    // run tests and collect results
    if (args.length == 0)
    {
        LogIn.loginTest(testResults);
        DatabaseTest.testResults(testResults);
        LinkTest.linkTests(testResults);
    }
    else 
    {
            // First choose application, then choose environment
        Application.chooseAppTest(args);
    }

Respuestas a la pregunta(1)

Su respuesta a la pregunta