Системное свойство "spring.active.profile" не установлено в Java с использованием springframework - PullRequest
0 голосов
/ 07 июня 2019

Мы пытаемся установить активные профили, используя аргументы командной строки. Мы печатаем системное свойство "spring.profiles.active" сразу после запуска. Локально это работает просто отлично, но на тест-сервере свойство не установлено.

В качестве тестовой среды у нас работает сервер Linux. Мы используем Java 8 для разработки веб-приложения, с 2.9.2

Мы создаем приложение через jenkins, который для этого вызывает bash-скрипт. Там мы устанавливаем активные профили приложения, используя системные свойства.

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

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

Дополнительная информация: В последнее время мы пытались переместить наше приложение с порта 8443 на 443, что вызвало серьезные проблемы. Нам не хватало прав на использование 1024 и ниже (linux-сервер). Мы вернулись к 8443, пока проблема с правами не будет устранена. С тех пор мы столкнулись с проблемой, упомянутой выше.

#!/bin/bash

CMD_DIR=`dirname $0`
JAR_DIR="$CMD_DIR/../../jars/tool/"
JAR_FILE="$(ls -t $JAR_DIR)"
$ARGS="-Dspring.profiles.active=dummylogin -Dslack.logonly=false -Dslack.channel=xxx"

echo $ARGS
exec java $ARGS -jar $JAR_DIR$JAR_FILE
private static void printActiveProfiles() {
        out.println(String.format("Active Spring-profiles: %s", System.getProperty("spring.profiles.active")));
    }

Я ожидаю, что в качестве активного профиля был установлен dummylogin.

На самом деле профиль не установлен: Журнал: Активные Spring-профили: null

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...