Hi Denizens of Stackoverflow,
У меня есть проблема с Maven, в частности с фазой сборки. У меня большой мультимодульный наследный проект, который, к сожалению, имеет некоторые круговые ссылки в его подмодулях. Было модернизировано построить с Maven, но рефактору круговыми ссылками займут слишком долго.
Проект строит нормально, запустив установку MVN и даже запускает пакет MVN без выпуска, но не удается при запуске сборки пакета MVN: сборка. Пытаюсь запустить его со сборкой: Single дает мне сбой сборки из-за «Ошибка создания архива сборки Distrive: вы должны установить хотя бы один файл».
С сборкой: сборка, похоже, перерабатывает одни и те же библиотеки снова и снова, в конечном итоге бросая колокольчик. Я предполагаю, что это означает, что круговые ссылки в модулях вызывают это, хотя и с момента его компиляций без проблем, я имел надежду, что он также выживет сборку.
Есть ли другие причины этого?
Структура проекта выглядит следующим образом:
Parent
|_ Child1
|_ Child2
|_ dist-proj
Родительский POM имеет следующие разделы:
<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>
POM DIST-PROJ:
<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>
Любая помощь будет очень ценится Отказ