Mavenはサードパーティのjarをパックして外部libディレクトリに配置し、指定したjarのみを残します

ここでは、springBootをパッケージ化するときに発生する問題について説明します。パッケージアップロードテストでサードパーティの変更されていないjarをアップロードする必要があるたびに、占有帯域幅や期間に関係なく、パッケージ化されたjarも最大の割合を占めます。

1. Mavenヒット戦争パッケージ:

プラグインを追加します。packagingIncludesラベルは、パッケージが指定されたときに予約されるjarです。

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <archiveClasses>false</archiveClasses>
                    <packagingIncludes>
                        WEB-INF/lib/api-1.0.0.jar,
                        WEB-INF/lib/commom-1.0.0.jar,
                        WEB-INF/lib/util-1.0.0.jar,
                        WEB-INF/classes/**
                    </packagingIncludes>
                </configuration>
            </plugin>

2. Mavenヒットjarパッケージ:

当時、私も長い間インターネットを検索していました。パッケージ化するときにサードパーティのjarパッケージをコピーして、必要なjarパッケージだけを残すだけでした。

           <!-- spring-boot-maven 打包插件 -->
            <plugin>
                <!--打包时去除第三方依赖-->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <layout>ZIP</layout>
                    <includes>
                        <include>
                            <groupId>non-exists</groupId>
                            <artifactId>non-exists</artifactId>
                        </include>

                      <!--  <include>-->
                      <!--       <groupId>自己jar包的groupId</groupId>-->
                            <artifactId>自己jar包的artifactId</artifactId>-->
                      <!-- </include>-->

                    </includes>
                </configuration>
            </plugin>
            <!--拷贝第三方依赖文件到指定目录-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!--target/lib是依赖jar包的输出目录,根据自己喜好配置-->
                            <outputDirectory>target/lib</outputDirectory>
                            <excludeTransitive>false</excludeTransitive>
                            <stripVersion>false</stripVersion>
                            <includeScope>com</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

 

おすすめ

転載: blog.csdn.net/qq_38130094/article/details/108326219
おすすめ