Как вставить свойство maven, которое является узлом XML?

Мне нужно добавить профиль maven, который при активации вставляет некоторые правила в раздел перемещения maven-shade-plugin, поэтому я добавляю свойство в профиль:

  <properties>
    <cdh.hive.relocation>
      <relocation>
        <pattern>org.apache.hive</pattern>
        <shadedPattern>org.my_project.apache.hive</shadedPattern>
      </relocation>
    </cdh.hive.relocation>
  </properties>

И добавьте его в конфигурацию плагина, используя ${cdh.hive.relocation}:

          <relocations>
            <relocation>
              <pattern>com.mchange.v2.c3p0</pattern>
              <shadedPattern>com.my_project.mchange.v2.c3p0</shadedPattern>
            </relocation>
            <relocation>
              <pattern>org.apache.http</pattern>
              <shadedPattern>org.my_project.apache.http</shadedPattern>
            </relocation>
            <relocation>
              <pattern>org.json4s</pattern>
              <shadedPattern>org.my_project.json4s</shadedPattern>
            </relocation>
            ${cdh.hive.relocation}
          </relocations>

Но maven выдал следующую ошибку:

[ОШИБКА] Сборке не удалось прочитать 1 проект -> [Справка 1] org.apache.maven.project.ProjectBuildingException: при обработке POM возникли некоторые проблемы: [FATAL] POM без разбора /home/peng/git-cloudera /5.10.2/datapassport/pom.xml: за TEXT должен следовать END_TAG, а не START_TAG (позиция: START_TAG просматривается ...\n ... @137:23) @ строка 137, столбец 23

Почему это не работает? Что я должен сделать, чтобы заставить его работать?


person tribbloid    schedule 18.09.2017    source источник


Ответы (1)


Я не думаю, что вы можете, вместо этого вы должны использовать профили

person Luigi Polvani    schedule 18.09.2017