Как вставить свойство 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

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

1 ответ

Решение

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

Другие вопросы по тегам