Объявите ресурс, включенный maven-bundle-plugin, как необязательный
У меня есть многомодульная сборка, создающая несколько артефактов с типом пакета "bundle".
Некоторые из них создают некоторую информацию в каталоге META-INF во время компиляции, некоторые нет.
Я попытался определить инструкцию в родительском файле pom.xml, которая добавляет каталог META-INF в качестве ресурса в комплект. К сожалению, это не работает для тех артефактов, которые не создают каталог META-INF во время сборки.
Я пытался избежать определения этого правила на всех модулях, которые в настоящее время создают каталог META-INF, так как
- Есть много и
- может быть, другие создадут каталог META-INF в будущем, и это потребует от будущих разработчиков знания, что они должны добавить этот каталог в качестве ресурса сейчас.
Можно ли каким-то образом сделать эту инструкцию "include-resource" необязательной, то есть она игнорирует этот ресурс, если он отсутствует?
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.5.0</version>
<configuration>
<instructions>
<Include-Resource>META-INF=${project.build.outputDirectory}/META-INF</Include-Resource>
</instructions>
</configuration>
</plugin>
1 ответ
Префикс шаблона ресурса с -
должно хватить, например:
<Include-Resource>-META-INF=${project.build.outputDirectory}/META-INF</Include-Resource>
Документация здесь.