Как редактировать файл web.xml с помощью Jenkins Build Paremeter - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу отредактировать некоторую конфигурацию в моем файле web.xml, основываясь на параметре сборки Jenkins.

Вот моя цель сборки в Jenkins:

clean compile war:war -Dparameter=$PARAMETER

А вот мой файл web.xml:

...
<env-entry> 
    <env-entry-name>parameter</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>${parameter}</env-entry-value> 
</env-entry>
...

Возможно ли это?Или я должен использовать другой способ?

Я новичок в проекте Maven.

1 Ответ

0 голосов
/ 11 апреля 2019

Вы должны активировать фильтрацию (которая фактически является интерполяцией строк / переменных) в плагине ресурсов Maven для каждой папки ресурсов, которая содержит ресурсы для фильтрации:

  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/resources</directory>  <!-- re-define the default since an explicit
                                                        <resources> declaration overwrites it -->
      </resource>
      <resource>
        <directory>src/main/webapp/WEB-INF</directory>  <!-- contains web.xml, for example -->
        <filtering>true</filtering>
      </resource>
      ...
    </resources>
    ...
  </build>

И, кстати, вам не нужно и не следует вызывать цель war плагина Maven WAR в командной строке явно, поскольку:

war:war - это цель по умолчанию, которая вызывается на этапе package для проектов с типом упаковки war.Он создает файл WAR.

Т.е. mvn clean package ... достигает того же (и является предполагаемым использованием Maven Build Lifecycle ).

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