zoukankan      html  css  js  c++  java
  • SpringBoot 打包配置去除第三方依赖包

    目前搭建springboot 微服务项目是最流行的架构。使用起来非常方便。搭建springboot架构。请自行参考其他文档。这一节主要解决的问题就是。我们打包上传部署。

     

    以前我们打包,都是把整个项目打成jar或者war包的形式。上传内容都是好几百mb大小、那么接下来我们如何。瘦身打包。并且部署呢?

     1.先了解原理:

        瘦身打包和和正常打包的区别。就一点:(1)BOOT-INF/lib  是否存依赖第三方包。

    直接干货代码:

    WIN10系统:

    1.正常打包

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 指定该Main Class为全局的唯一入口 -->
                    <mainClass>com.cy.plat.cyadmin.CyAdminApplication</mainClass>
                    <layout>ZIP</layout>
                    <includes>
                        <!-- 设置没有jar包-->
                        <!--<include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>-->
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--<plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.3</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>-->
        </plugins>
    </build>

    2.瘦身打包:

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 指定该Main Class为全局的唯一入口 -->
                    <mainClass>com.cy.plat.cyadmin.CyAdminApplication</mainClass>
                    <layout>ZIP</layout>
                    <includes>
                        <!-- 设置没有jar包-->
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--<plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.3</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>-->
        </plugins>
    </build>

    比较方法其实就是

    就是在 spring-boot-maven-plugin这个插件中,加入这么一句话

    <!-- 设置没有jar包-->
                <include>
                       <groupId>nothing</groupId>
                       <artifactId>nothing</artifactId>
                   </include>                    

     

    3.如何部署:

    我们把正常打包的项目解压出来。找到 BOOT-INF/lib把整个lib包,复制一份,放到和瘦身jar包放同一个目录下:

    最后启动命令:

    java -Dloader.path=/path/to/lib -jar /path/to/cy-admin.jar

    备注:

    • 将/path/to/改成实际的路径。
    • -Dloader.path=lib文件夹路径

    或者当前目录命令可以用这个:

    java -Dloader.path=./lib -jar ./cy-admin.jar

     

    然后就启动完毕了

  • 相关阅读:
    从零搭建hadoop集群之安装虚拟机
    数据库中的左连接和右连接的区别
    cookie 和session的区别是
    jquery获取单选按钮选中的值
    css设置背景图(背景图太大导致图片显示不全)
    vue购物车
    model修改器获取器的使用
    model时间戳自动添加
    定义路由
    模型使用:M模型 V视图 C控制
  • 原文地址:https://www.cnblogs.com/zouhong/p/12189476.html
Copyright © 2011-2022 走看看