首页 > 其他分享 >微服务减少jar包体积

微服务减少jar包体积

时间:2022-11-30 18:11:36浏览次数:47  
标签:project 服务 .. basedir jar maven 体积 build copy

<build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <!--打包jar-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <!--MANIFEST.MF 中 Class-Path 加入前缀-->
                            <classpathPrefix>lib/</classpathPrefix>
                            <!--jar包不包含唯一版本标识-->
                            <useUniqueVersions>false</useUniqueVersions>
                            <!--指定入口类-->
                            <mainClass>com.xx.xx.xx.xxApplication</mainClass>
                        </manifest>
                        <manifestEntries>
                            <!--MANIFEST.MF 中 Class-Path 加入资源文件目录-->
                            <Class-Path>../config/${project.artifactId}/</Class-Path>
                        </manifestEntries>
                    </archive>
                    <!-- 排查内部的配置文件 -->
                    <excludes>
                        <exclude>**/*.yml</exclude>
                    </excludes>
                    <outputDirectory>${project.basedir}../../build/packages/lib/</outputDirectory>
                </configuration>
            </plugin>

            <!--拷贝依赖 copy-dependencies-->
            <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>
                            <outputDirectory>
                                ${project.basedir}../../build/packages/lib/lib
                            </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!--拷贝资源文件 copy-resources-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-bin</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}../../build/packages/bin/${project.artifactId}</outputDirectory>
                            <resources>
                                <!-- 控制启动脚本文件的拷贝-->
                                <resource>
                                    <directory>${project.basedir}../../build/template/bin-template</directory>
                                    <includes>
                                        <include>**/*.bat</include>
                                        <include>**/*.sh</include>
                                    </includes>
                                    <filtering>true</filtering>
                                    <targetPath>${project.basedir}../../build/packages/bin/${project.artifactId}</targetPath>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>copy-config</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                    <includes>
                                        <include>**/*.yml</include>
                                    </includes>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                            <outputDirectory>${project.basedir}../../build/packages/config/${project.artifactId}</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!--spring boot repackage,依赖 maven-jar-plugin 打包的jar包 重新打包成 spring boot 的jar包-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.7.RELEASE</version>
                <configuration>
                    <executable>true</executable>
                    <layout>ZIP</layout>
                    <!--将下面三个模块的jar包,打包到核心包中-->
                    <includes>
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

标签:project,服务,..,basedir,jar,maven,体积,build,copy
From: https://www.cnblogs.com/hg-super-man/p/16939314.html

相关文章

  • nodejs 服务器监听的主机名称导致的本地前端代理错误
    问题前端本地开发服务器一直是正常的,直到某一天启动时出现这个错误:代理服务的配置如下:(http://localhost:8000跑着一个本地启动的nodejs服务器。)const{createProxyMid......
  • the--openssl升级引起的openstack服务异常问题
    1.问题查看openstack服务,各个服务报错提示:  PAMunabletodlopen(/lib64/security/pam_tally.so):/lib64/security/pam_tally.so:cannotopensharedobjectfile......
  • 封UDP是什么意思? 封UDP、封海外服务器真的打不进么
    ​​利联科技​​——封udp扬州机房    首先需要清楚封海外就是封住海外的Attack,因为目前来说国内的大Attack都是来自国外的,国外的成本较国内的成本低很多的。那封UD......
  • 【HMS Core】AR Engine、3D建模服务相关问题
    问题描述1:AREngine的人体和人脸跟踪等能力是否支持将本地摄像头开启替换成本地视频的。解决方案:AREngine的​​运动跟踪​​、​​环境跟踪​​、​​人体和人脸跟踪​​......
  • Web服务器1-socket编程
    基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:time服务器的客户端服务器,提交程序运行截图echo服务器的客户端服务器,提交程序运行截图,服务器把客户端传进来......
  • 华为云服务器搭建FTP后,内网访问无法连接。
    总结:1、内网访问公网需要用被动模式2、云服务器需要放开除20、21以外的部分端口,最好指定范围(当前还没有研究明白)3、PASV IP配置为云服务器的弹性公网IP......
  • 实验四 Web服务器2
    基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用LinuxSocket实现:1.Web服务器的客户端服务器,提交程序运行截图2.实现GET即可,请求,响应要符合HTTP协议规范3.服务器部署到......
  • ASEMI整流桥UD4KB100,UD4KB100体积,UD4KB100大小
    编辑-ZASEMI整流桥UD4KB100参数:型号:UD4KB100最大重复峰值反向电压(VRRM):1000V最大平均正向整流输出电流(IF):4A峰值正向浪涌电流(IFSM):125A每个元件的典型热阻(ReJA):35℃/W工作结和储......
  • ASEMI整流桥UD4KB100,UD4KB100体积,UD4KB100大小
    编辑-ZASEMI整流桥UD4KB100参数:型号:UD4KB100最大重复峰值反向电压(VRRM):1000V最大平均正向整流输出电流(IF):4A峰值正向浪涌电流(IFSM):125A每个元件的典型热阻(ReJA):35℃/W工......
  • 根据类查找缺少的jar包,在已有jar包内查找类
    背景提交Flink作业的时候报错:NoClassDefFoundError:org.apache.kafka.connect.source.SourceRecordjava.lang.NoClassDefFoundError:org/apache/kafka/connect/source/......