Иногда возникает ситуация, когда для корректной сборки вашего проекта необходимо подключить специфичные сторонние библиотеки, которых нет в maven репозитариях.
Например, если сборка вашего проекта будет в последствии запускаться в определенной среде с заранее подключенными библиотеками (как пример: в контейнере сервлетов или на сервере приложений), и вы собираетесь использовать классы данных библиотек в своем проекте.
В этом случае вы можете, имея в наличии jar-архивы данных библиотек, подключить их к своему проекту для корректной компиляции. Некоторые из примеров такого подключения описаны ниже.
Общий вид подключения описываемого плагина к проекту выглядит следующим образом:
<project> ... <build> ... <plugins> <plugin> <groupId>org.hedgecode.maven.plugins</groupId> <artifactId>classpath-maven-plugin</artifactId> <version>1.0</version> <configuration> [...здесь задаются параметры плагина...] </configuration> </plugin> </plugins> ... </build> ... </project>
1. Вы можете добавить отдельную стороннюю библиотеку в classpath вашего проекта для успешной компиляции (в данном примере: библиотека foo-api.jar из каталога lib/ вашего проекта):
<configuration> <path>lib/foo-api.jar</path> <isMask>false</isMask> </configuration>
(параметр isMask = false означает, что в параметре path указана конкретная библиотека, а не маска для поиска).
2а. Если необходимо добавить несколько библиотек в classpath вашего проекта, то, в таком случае, их можно перечислить с помощью следующей конструкции (в данном примере: библиотеки foo-api.jar и bar-api.jar):
<configuration> <paths> <path>lib/foo-api.jar</path> <path>lib/bar-api.jar</path> </paths> <isMask>false</isMask> </configuration>
2б. Или же воспользоваться возможностью задания маски для поиска файлов (в данном примере: все библиотеки, заканчивающиеся на *-api.jar, в каталоге lib/ вашего проекта):
<configuration> <path>lib/*-api.jar</path> <isMask>true</isMask> </configuration>