maven-jar-plugin не включает содержимое, указанное в <include> - PullRequest
0 голосов
/ 21 марта 2020

У меня есть зависимость от сборки, которую нужно включить в мой тонкий файл vert.x. Поскольку библиотеки реагирующего не включены в дистрибутив, мне нужно включить их в мой код. Моя тонкая банка предназначена для изображения CRI-O на основе vertx / vertx3, поэтому я не хочу толстую банку.

Мне нужна запись манифеста Class-Path, созданная maven- jar-плагин, а также библиотека реактивов. У меня есть два плагина, которые являются частью фазы пакета, но не могут получить извлеченный контент зависимостей, включенный в мой jar, даже если я изменяю фазу на prepare-package. Я проверил, наблюдая за тем, как он строит, что зависимость распаковывается перед выполнением maven-jar-plugin, так это проблема с моим?

Конфигурацией плагина:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.2</version><!--$NO-MVN-MAN-VER$-->
        <executions>
            <execution>
                <id>unpack-vertx-rx-java2</id>
                <goals>
                    <goal>unpack</goal>
                </goals>
                <phase>prepare-package</phase>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>io.vertx</groupId>
                            <artifactId>vertx-rx-java2</artifactId>
                            <type>jar</type>
                            <outputDirectory>${project.build.directory}/vertx-rx-java2</outputDirectory>
                        </artifactItem>
                    </artifactItems>
                    <includes>io/**</includes>
                    <overWriteReleases>false</overWriteReleases>
                    <overWriteSnapshots>false</overWriteSnapshots>
                </configuration>
            </execution>
        </executions>
    </plugin>

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
            <archive>
                <manifest>
                    <mainClass>${vertx.launcher}</mainClass>
                    <addClasspath>true</addClasspath>
                    <classpathLayoutType>custom</classpathLayoutType>
                    <customClasspathLayout>vertx/lib/$${artifact.artifactId}-$${artifact.version}$${dashClassifier?}.$${artifact.extension}</customClasspathLayout>
                </manifest>
            </archive>
            <includes>
                <include>**</include>
                <include>${project.build.directory}/vertx-rx-java2/**</include>
            </includes>
        </configuration>
    </plugin>

Этот pom . xml контент является дочерним по отношению к родительскому pom, который не включает эти плагины, если это уместно?

Спасибо.

...