Создайте один jar из всех ваших зависимостей, всего в ${package.path}/lib/*/.jar
.
Вы можете использовать задачу ant для создания этого jar, либо до запуска maven, либо как часть вашей сборки maven.
Чтобы объединить ваши банки, вы можете использовать Ant Jar Task (see section Слияние архивов).Оттуда:
<jar destfile="build/main/checksites.jar">
<fileset dir="build/main/classes"/>
<restrict>
<name name="**/*.class"/>
<archives>
<zips>
<fileset dir="lib/main" includes="**/*.jar"/>
</zips>
</archives>
</restrict>
</jar>
Это создает файл jar, в который встраиваются все классы из всех jar-файлов в lib / main.
Затем можно использовать системную область видимости, которая указывает на этот jar какнормально в мавене.Примечание: если вы создаете банку в maven (через ant), то вам нужно создать банку в target, чтобы она правильно очищалась.
Чтобы использовать файл сборки ant из maven, вы можете использовать плагин maven antrun , аналогично:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<property name="local.project.artifact.name" value="${project.build.finalName}" />
<property name="local.distribution.artifact.name" value="${local.project.artifact.name}-distribution" />
<property name="local.distribution.artifact.file" value="${project.build.directory}/${local.distribution.artifact.name}.zip" />
<ant antfile="build-deploy.xml" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
Запускает файл сборки ant build-deploy.xml
в фазе пакета.Изменения, необходимые для вашей системы, оставлены читателю в качестве упражнения: -).