2017-01-15 4 views
-1

У меня есть переменные окружения в моем application.properties как этот spring.mail.username=${username}Как включить Maven переменных сред в затмении к войне файлу

The ${username} будет декларировать в затмении переменного окружения. Когда я создаю пакет maven и устанавливаю его, затем развертывайте его на tcServer. Сервер TC не знает ${username}. Другое слово, переменные окружения не включают в военный файл во время сборки.

Как получить переменную окружения в eclipse для включения в файл войны для развертывания?

+0

Вы хотите иметь пользователя, который построил систему? Не пользователь, который его выполняет? – alexbt

ответ

0

Если вы хотите иметь переменную сборки времени заменить, я хотел бы предложить вам использовать Maven фильтрации:

Имейте переменную окружения (не затмения один):

export username=user3184890 

Тогда в вашем pom.xml, активировать Maven фильтрации на ресурсы (предполагая, что ваш application.properties в src/main/resources:

<build> 
    <resources> 
     <resource> 
      <directory>${project.basedir}/src/main/resources</directory> 
       <filtering>true</filtering> 
     </resource> 
    </resources> 
... 

Кроме того, изменить application.properties к этому:

spring.mail.username=${env.username} 

или

spring.mail.u[email protected]@ 
0

Использование Maven фильтрации, как описано в alexbt-х answer, это правильный подход для включения значения, определенные в другом месте. Его пример касается включения переменной среды операционной системы. Вы также можете расширить это свойство Maven. Например,

<project ...> 
    <properties> 
     <spring.mailuser>[email protected]</spring.mailuser> 
    </properties> 
    ... 
    <build> 
     ... 
    </build> 
</project> 

определяет Maven свойства, значение которого извлекается ${spring.mailuser} и может быть использован как часть других конфигураций Maven или вводят в качестве содержимого с помощью фильтрации Maven. Учитывая это, изменение applicable.properties следующим

spring.mail.username=${spring.mailuser} 

будет вводить значение свойства во время сборки.

Смежные вопросы