Ответ 1
Исправлен исходный код фильтра, который был несколько сложным несколько месяцев назад, но теперь есть стандартный плагин в проекте MOJO. Теперь вы можете сделать это с помощью классического объявления плагина.
Чтобы отфильтровать исходный код (например, если вы хотите иметь константу в своем Java-коде для извлечения версии проекта или artifactId), вы должны теперь использовать templating-maven-plugin.
-
Поместите свой код, который должен быть отфильтрован во время сборки в
src/main/java-templates
, как вы обычно делаете вsrc/main/java
для нефильтрованных источников. Используйте${project.version}
или любое другое свойство, поступающее из POM в вашем коде. -
Просто поместите что-то вроде:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>templating-maven-plugin</artifactId> <version>1.0-alpha-3</version> <!-- Be sure to use the last version. Check on the website plugin --> <executions> <execution> <id>filter-src</id> <goals> <goal>filter-sources</goal> </goals> </execution> </executions> </plugin>
-
Сделай:-). Код, который вы помещаете внутри
src/main/java-templates
, фильтруется и добавляется в путь к классам.
Использование очень просто (см. пример здесь).
Это гораздо лучше отражает идею соглашения о конфигурации Maven. Вы в основном заменяете десятки строк XML и некоторые хаки, чтобы сделать что-то чистое.
Боковое примечание: это отлично работает с Eclipse, например.