Исключая ресурс при упаковке в Maven
У меня есть проект с образцом структуры как:
jcr_root
|_apps
|_A
|_B
|_etc
|_A
|_B
Что мне нужно сделать, так это то, что при создании пакета мне нужно указать "apps/A & etc/A" или "apps/B & etc/B"
В моем pom.xml я пробовал что-то вроде:
<resources>
<resource>
<directory>src/main/content/jcr_root</directory>
<excludes>
<exclude>apps/A/**</exclude>
<exclude>etc/A/**</exclude>
</excludes>
</resource>
</resources>
Но все же и "A", и "B" в приложениях и т. Д. Включаются при упаковке. я использую content-package-maven-plugin
создать пакет, который будет развернут на CQ.
Я попытался поместить записи в filter.xml, но затем он используется при развертывании, а не при упаковке.
Кажется, теги include / exclude вообще не работают. Для тестирования я попробовал:
<resources>
<resource>
<directory>src/main/content/jcr_root</directory>
<excludes>
<exclude>**/*.otf</exclude>
</excludes>
</resource>
</resources>
Но все же файл fonts.otf был включен в упакованный zip.
Некоторая помощь или подсказки, пожалуйста. Дайте мне знать, если потребуется дополнительная информация.
Спасибо заранее.
2 ответа
Итак, наконец я смог создать пакет с исключенными ресурсами.
Проблема была не в теге include/exclude (они всегда работали нормально).
Файлы после исключения какого-либо ресурса были скопированы в каталог "target/classes". Проблема заключалась в том, что плагин maven-content-package переносил ресурс в пакет из исходного исходного каталога, а не из созданного каталога "target/classes". Таким образом, он всегда включал все, Это поведение по умолчанию для плагина maven-content-package.
Таким образом, мне пришлось явно указать плагину, что вам нужно выбрать ресурс для упаковки из "target/classes".
<builtContentDirectory>${basedir}/target/classes</builtContentDirectory>
Пожалуйста, дайте мне знать, если кому-то нужно больше подробностей. Спасибо за все ваши ответы:)
Поскольку вы хотите включить jcr_root/app/A и jcr_root/etc/A, пожалуйста, попробуйте использовать это в POM.xml:
<project>
...
<resources>
<resource>
<directory>jcr_root</directory>
<includes>
<include>**/*A*</include>
</includes>
<excludes>
<exclude>**/*B*</exclude>
</excludes>
</resource>
<resources>
</project>
Точно так же вы можете сделать это для получения jcr_root/app/B и jcr_root/etc/B.
С уважением
Jyotsna