• springboot 打包 分离依赖 和自己的代码


    由于经常性的修改线上代码,上传项目真的是等待和煎熬

    正常打包上传是需要把所有的依赖都打包上去的,这样一个项目小的也有50多兆.因为依赖不是经常的变动,那么我们可以将依赖和自己的代码分离开来.依赖只需要第一次部署的时候放上去,之后只需要部署自己修改的代码就好了.如果是springcloud项目,只需要有一个依赖就好了,多个项目可以共同使用一个.之前如果50M需要10秒钟,现在改为只需要上传自己写的代码,那么真的是秒传,秒启动.

    首先我们创建一个springboot项目

    找到pom文件中

    修改

        <build>
            <plugins>
                <!--            <plugin>-->
                <!--                <groupId>org.springframework.boot</groupId>-->
                <!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
                <!--            </plugin>-->
                <!--打包自己的代码-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <!-- 添加依赖jar路径 -->
                                <addClasspath>true</addClasspath>
                                <!-- 入口程序-修改为自己的启动类名 -->
                                <mainClass>com.wangbingchen.qwe.QweApplication</mainClass>
                                <classpathPrefix>../lib</classpathPrefix>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
                <!--打包自己的代码-->
    
                <!--打包依赖到lib-->
                <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>
                                <!-- ${project.build.directory}target目录 -->
                                <outputDirectory>${project.build.directory}/lib</outputDirectory>
    
                                <!--                            &lt;!&ndash; 不复制间接依赖 &ndash;&gt;-->
                                <!--                            <excludeTransitive>true</excludeTransitive>-->
                                <!--                            <stripVersion>true</stripVersion>-->
                                <!--                            &lt;!&ndash; 不复制scope=provided的依赖包 &ndash;&gt;-->
                                <!--                            <excludeScope>provided</excludeScope>-->
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <!--打包依赖到lib-->
            </plugins>
        </build>
    

    接下来和正常打包一样直接点击install打包

    生成jar和lib

    复制lib文件和jar到服务器

    注意目录结构因为打包的时候配置../lib 这个表示 打出的jar会去上级目录中找lib文件 多个服务时 可以这样打包,如果是单个服务可以改../lib为lib 这样jar和lib就应该放在同级

    直接启动jar 成功

    可能遇到的问题

    Error: Could not find or load main class com.wangbingchen.qwe.QweApplication
    
    打包前记得修改pom文件mainClass 标签里面的类为自己的类

    遇到其他问题请联系我 389561407@qq.com

  • 相关阅读:
    父子组件例子
    指令
    使用git将代码推到coding
    vue生命周期
    vue 父子组件
    vuex
    使用vue与element组件
    vue02
    使用vue
    telnet 使用
  • 原文地址:https://www.cnblogs.com/wangbingchen/p/14352855.html
Copyright © 2020-2023  润新知