создание переменной без учета регистра из файла start.sh в коде Java - PullRequest
0 голосов
/ 23 мая 2019

Мне просто нужно сделать системную переменную в jboss-сервере нечувствительной к регистру.

переменная определена в файле start.sh как показано ниже:

cd /opt/logs
nohup /opt/jboss/bin/standalone.sh -DmyEnvironment=Release_19.2.2_ST -c standalone-full_st.xml &

Ниже приведен текущий код, который я использую для добавления строки с именем файла в соответствии с окружением.

public static String getEnvConfiguredFile(String file) {
    String env = System.getProperty("myEnvironment");
    if(env !=null) {
        if(env.contains("AT")){
        return file+"_at";
        }
        else if(env.contains("ST")){
        return file+"_st";
        }
        else if(env.contains("PROD")){
        return file+"_prod";
        }
        else{
        return file;
        }
    }else {
    return file;
    }
}

Проблема в том, что когда я использую -DmyEnvironment = Release_19.2.2_st (здесь st в нижнем регистре), я получаю сообщение об ошибке приложения, так как не удается найти файл.

Чтобы запустить пробег в нижнем регистре, я изменил метод на:

public static String getEnvConfiguredFile(String file) {
    String envtmp = System.getProperty("myEnvironment");
    env=envtmp.toUpperCase();
    if(env !=null) {
        if(env.contains("AT")){
        return file+"_at";
        }
        else if(env.contains("ST")){
        return file+"_st";
        }
        else if(env.contains("PROD")){
        return file+"_prod";
        }
        else{
        return file;
        }
    }else {
    return file;
    }
}

Хотя проблема выглядит просто, но заглавные буквы в start.sh работают нормально, а строчные выдают ошибку.

Ниже приведено исключение

    Caused by: java.lang.NullPointerException
        at java.util.Properties$LineReader.readLine(Properties.java:434) [rt.jar:1.7.0_71]
        at java.util.Properties.load0(Properties.java:353) [rt.jar:1.7.0_71]
        at java.util.Properties.load(Properties.java:341) [rt.jar:1.7.0_71]
        at com.corridor.util.PropertiesUtil.<init>(PropertiesUtil.java:22) [home-util.jar:]
        at com.corridor.util.PathUtil.getBrokerProperties(PathUtil.java:90) [home-util.jar:]
        at com.corridor.util.MessageUtil.<clinit>(MessageUtil.java:32) [home-util.jar:]
        ... 153 more
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...