Вы можете прикрепить дополнительные артефакты, используя build-helper-maven-plugin . Приведенная ниже конфигурация добавит datasource.xml в качестве дополнительного артефакта на этапе package . Если этот артефакт определен за пределами src / main / resources и src / main / webapp, он не будет включен в войну.
Обновление: чтобы обеспечить фильтрацию ресурсов для каждого комментария, вы можете указать выполнение цели копирования-ресурсов resource-plugin , указав применяемую фильтрацию. Затем вы все равно можете прикрепить этот отфильтрованный артефакт, используя build-helper-maven-plugin, ссылаясь на соответствующий целевой каталог. Я обновил пример ниже, чтобы показать это использование.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}/datasource</outputDirectory>
<resources>
<resource>
<directory>src/main/datasource</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.outputDirectory}/datasource/datasource.xml</file>
<type>xml </type>
<classifier>datasource</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
Он не появится в целевой папке, но будет развернут / установлен в хранилище вместе с войной.
На прикрепленный артефакт можно ссылаться, определяя зависимость с помощью классификатора «источник данных». Например:
<dependency>
<groupId>my.group.id</groupId>
<artifactId>my-artifact-id/artifactId>
<version>1.0.0</version>
<classifier>datasource</classifier>
<type>xml</type>
</dependency>
Вы можете использовать цель копирования плагина зависимостей , чтобы получить артефакт и поместить его туда, где он требуется в процессе развертывания.