У меня есть плагин maven, который представляет Mojo, с целью, которая выполняется на этапе компиляции. Проект был сгенерирован с использованием mvn archetype: generate, и POM содержит все стандартные вещи, которые идут с выполнением этого, очень небольшого отклонения. Проект включает в себя пару файлов ресурсов, например, filea.txt и fileb.txt, которые упакованы как часть jar.
Когда плагин используется в проекте, я хотел бы, чтобы файлы, включенные в jar, были извлечены и скопированы в каталог target \ test-classes хост-проекта. Я пытаюсь использовать плагин jar для распространения некоторых файлов + раскрыть некоторые функции, которые затем могут использовать эти файлы.
Это правильный подход, и если да, есть ли настройки, которые я могу добавить в POM плагина, чтобы указать, что контент из плагина должен быть извлечен и скопирован? Я хочу централизовать эту логику c в плагине, а не делать это на хосте плагинов.
Я чувствую, что это что-то с maven-dependency-plugin или maven-resources-plugin или build-helper-maven-plugin: attach-artifact, пробовал несколько разных подходов, но думаю, что я что-то упустил очевидно:
например что-то подобное в плагине POM?
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<outputDirectory>${basedir}/target/test-classes</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>filea.txt</include>
<include>fileb.txt</include>
</includes>
</resource>
</resources>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.6.0</version>
</plugin>
// etc etc
Google fu подвел меня, продолжайте попадать на страницу ресурсов maven. Может публиковать структуру каталогов / дополнительную информацию, если это необходимо.
Cheers