Как создать совокупный жирный кувшин из файла Super Pom? - PullRequest
0 голосов
/ 29 октября 2019

У меня есть агрегатный модуль Maven, который представляет собой многомодульный проект Maven, состоящий из супер POM. Этот агрегатный модуль состоит из нескольких вспомогательных проектов. В супер-POM агрегатного модуля я включил jar-зависимости, общие для подпроектов. В файле POM каждого подпроекта я включил банки, которые относятся только к этим проектам.

Супер POM выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

 <modelVersion>4.0.0</modelVersion>

    <groupId>com.testproject</groupId>
    <artifactId>testproject</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>../../Projects/ProjectA</module>
        <module>../../Projects/ProjectB</module>
        <module>../../Projects/ProjectC</module>
    </modules>
   <dependencies>
   <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
   </dependency>
   <dependency>
    <groupId>org.swinglabs.swingx</groupId>
    <artifactId>swingx-core</artifactId>
    <version>1.6.3</version>
 </dependency>
 <dependency>
    <groupId>org.jdesktop</groupId>
    <artifactId>swing-layout</artifactId>
    <version>1.0.3</version>
 </dependency>
</dependencies>
</project>

Важным примечанием является то, что мой агрегатный модуль не содержит исходного кода, а только супер POM. Следовательно, нет и основного класса, и поэтому я не могу использовать плагин Maven Assembly. Мой основной класс находится в одном из подпроектов.

Как я могу создать файл JAR из Super POM агрегатного модуля?

Причина, по которой я хотел бычтобы получить jar из файла POM, я хотел бы продолжить использование ant для процесса сборки.

Я ожидаю, что последний jar из super POM содержит все зависимые jar, такие как junit, swingx-core, Swing-layout и т. д. как один толстый кувшин, который я могу включить в процесс сборки муравья.

Возможно ли это с maven? Я что-то упустил?

Я пытался изменить упаковку с pom на jar, но я получаю ошибку компиляции на mvn-install, говорящую "упаковка с jar недопустима. Проектам агрегатора требуется pom" в качестве упаковки ".

mvn-install и mvn-compile отлично работают, когда я использую упаковку как pom.

...