У меня есть устаревший муравейный проект, который берет стороннюю войну, разархивирует ее, а затем использует ресурсы и библиотеки (более 100 банок) внутри него для сборки.
В Maven я могу получить этот военный файл из хранилища и распаковать его.Но как включить файлы jar в распакованный каталог для компиляции?
Кроме того, как мне убедиться, что компиляция происходит после распаковки?
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="\[http://maven.apache.org/POM/4.0.0\](http://maven.apache.org/POM/4.0.0)" xmlns:xsi="\[http://www.w3.org/2001/XMLSchema-instance\](http://www.w3.org/2001/XMLSchema-instance)" xsi:schemaLocation="\[http://maven.apache.org/POM/4.0.0\](http://maven.apache.org/POM/4.0.0) \[http://maven.apache.org/xsd/maven-4.0.0.xsd\](http://maven.apache.org/xsd/maven-4.0.0.xsd)"> <modelVersion>4.0.0</modelVersion> <groupId>project1</groupId> <artifactId>project1</artifactId> <version>0.0.1-SNAPSHOT</version> <name>project1 Maven Webapp</name> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>unpack</id> <phase>compile</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>com.abc.third-party</groupId> <artifactId>externalWar</artifactId> <version>1.0.0</version> <type>war</type> <overWrite>false</overWrite> <outputDirectory>target</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
В качестве первого шага попробуйте привязать плагин зависимостей к фазе жизненного цикла, выполняемой до компиляции, например: generate-sources.Таким образом, вы гарантируете существование распакованных источников во время фазы compile.
generate-sources
compile