Привет обитатели stackoverflow,
У меня проблема с maven, особенно на этапе сборки. У меня есть большой многомодульный унаследованный проект, который, к сожалению, имеет несколько циклических ссылок в своих подмодулях. Он был модернизирован для сборки с Maven, но для рефакторинга циклических ссылок потребуется слишком много времени.
Проект строится нормально при запуске mvn install и даже запускает пакет mvn без проблем, но завершается неудачно при запуске сборки пакета mvn: сборка. Попытка запустить его со сборкой: сингл выдает ошибку сборки из-за «Ошибка создания дистрибутива архива сборки: необходимо указать хотя бы один файл».
При сборке: сборка, кажется, обрабатывает одни и те же библиотеки снова и снова, в конечном итоге выбрасывая stackoverflowerrorror. Я предполагаю, что это означает, что причиной этого являются циклические ссылки в модулях, хотя, поскольку он компилируется без проблем, я надеялся, что он также выживет при сборке.
Есть ли другие причины этого?
Структура проекта следующая:
Parent
|_ Child1
|_ Child2
|_ dist-proj
Родительский пом состоит из следующих разделов:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly-dependencies.xml</descriptor>
</descriptors>
</configuration>
</plugin>
<modules>
<module>Child1</module>
<module>Child2</module>
<module>dist-proj</module>
</modules>
Дистанционный проект:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>dist-proj</id>
<phase>assembly</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly-dependencies.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
и файл сборки:
<moduleSets>
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
<include>groupid:Child1</include>
<include>groupid:Child2</include>
</includes>
<binaries>
<outputDirectory>${project.build.finalName}</outputDirectory>
<unpack>false</unpack>
<dependencySets>
<dependencySet>
<includes/>
<scope>compile</scope>
</dependencySet>
<dependencySet>
<includes/>
<scope>runtime</scope>
<useTransitiveFiltering>true</useTransitiveFiltering>
</dependencySet>
</dependencySets>
</binaries>
</moduleSet>
</moduleSets>
Любая помощь будет принята с благодарностью.