首页 > 解决方案 > Maven 创建 2 个归档文件

问题描述

我正在使用 Maven 来构建我的项目。在我放入父 pom 之前,它工作正常。现在,该项目仍在构建,但输出是 2 个 jar 文件而不是 1 个。其中一个以 , 结尾-boot.jar,并且似乎是正确的 jar 文件,因为它包含所有依赖项并且超过 60mb。另一个文件具有正确的名称 ( projectId-version.jar) 但小于 1mb,这是被管道进程拾取的文件,并且部署失败。

我需要 mvn 来构建一个包含所有依赖项的 jar。

我正在使用 Spring boot 1.5.19(父 pom 具有此依赖项)。有任何想法吗?

标签: javamavenspring-boot

解决方案


请参阅 spring boot maven 插件使用和文档的文档。

https://docs.spring.io/spring-boot/docs/2.1.4.RELEASE/maven-plugin/repackage-mojo.html

https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html

具体repackage目标。您正在使用的父 POM 必须配置为设置新工件以boot.jar通过classifier配置添加。

添加到重新打包存档的分类器。如果没有给出,主工件将被重新打包的存档替换。如果给定,分类器也将用于确定要重新打包的源存档:如果具有该分类器的工件已经存在,它将被用作源并被替换。如果不存在此类工件,则主要工件将用作源,并且重新打包的存档将作为该分类器的补充工件附加。附加工件允许将其部署到原始工件旁边,

您可以定义 Maven 插件的配置设置并覆盖父级中定义的任何内容。

    <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <classifier></classifier>
                </configuration>      
            </plugin>

推荐阅读