Знаток - Может я ссылаться на идентификатор профиля в определении профиля?

Я установил профили в a pom.xml, как показанный следующим образом:

<profile>
<id><em>profileId1</em></id>
    <build>
        <filters>
            <filter>src/main/filters/<em>profileId1</em>.properties</filter>
        </filters>
// rest of the profile 
</profile>
<profile>
<id><em>profileId2</em></id>
    <build>
        <filters>
            <filter>src/main/filters/<em>profileId2</em>.properties</filter>
        </filters>
// rest of the profile
</profile>

Вопрос:

Там какой-либо путь состоит в том, чтобы извлечь эту часть из всех профилей, так, чтобы не было никакой потребности повторить его для каждого профиля (и возможно написать его c орфографическими ошибками)?

38
задан Rene Knop 16 November 2018 в 21:49
поделиться

1 ответ

Согласно PLXUTILS-37, доступ к свойствам в списке или карте должен быть возможен с помощью "Reflection Properties" (подробнее об этом см. в MavenPropertiesGuide).

Так что просто попробуйте ${project.profiles[0].id}, ${project.profiles[1].id} и т.п.

Если это не сработает (я не проверял), я бы использовал активацию профиля, основанную на свойстве системы, как описано в Введение, чтобы собрать профили и использовать это свойство в фильтре. Что-то вроде этого:

<profile>  
  <id>profile-profileId1</id>  
  <activation>
    <property>
      <name>profile</name>
      <value>profileId1</value>
    </property>
  </activation>
  <build>  
    <filters>  
      <filter>src/main/filters/${profile}.properties</filter>  
    </filters>  
    // rest of the profile  
</profile>

Для активации этого профиля нужно было набрать в командной строке:

mvn groupId:artifactId:goal -Dprofile=profileId1 
3
ответ дан 27 November 2019 в 03:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: