Как вставить свойство 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 ответ
Я не думаю, что вы можете, вы должны вместо этого использовать профили