Добавить свойство в application.properties для "mvnw clean package"? - PullRequest
1 голос
/ 16 января 2020

При отладке в STS мне нужно свойство xxx.yyy.zzz, чтобы оно было / не было вообще. Однако при развертывании в Tomcat через чистый пакет mvnw мне нужно добавить xxx.yyy.zzz = / myApp

Я увидел сообщение о переполнении SO, в котором говорится, что вам просто нужно сделать:

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <systemPropertyVariables>
        <xxx.yyy.zzz>/myApp</xxx.yyy.zzz>
      </systemPropertyVariables>
    </configuration>
  </plugin>

Но это не работает. Я читал о профилях, но я думаю, что это излишне для моих нужд, я не хочу поддерживать несколько копий свойств, я просто хочу переопределить это одно свойство. Есть ли способ сделать профили, где у вас есть только значения, которые нужно переопределить?

Это для приложения с весенней загрузкой.

РЕДАКТИРОВАТЬ:

По предложению Халила я пробую профили.

1) Я добавил application-tomcat.properties

2) В пом. xml я добавил:

<profiles>
    <profile>
        <id>tomcat</id>
        <properties>
            <spring.properties.active>tomcat</spring.properties.active>
        </properties>
    </profile>
</profiles>

3) Я сделал mvnw clean package -P tomcat

Нет ошибок, и развертывание прошло успешно, но свойство не читается.

1 Ответ

0 голосов
/ 16 января 2020

что не так с этим решением?

application- root .properties

xxx.yyy.zzz = /

application-not- root .properties

bla bla

@Profile("root")
public String xxYY(){
return yourVar;
}

@Profile("Notroot")
public String xxYY(){
return "";
}

if (your condition){
  AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
      context.getEnvironment().setActiveProfiles("root or no root");
}

или даже это, если вы говорите о Tomcat:

if (your condition)
servletContext.setInitParameter("spring.profiles.active", "root or no root");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...