spring boot 打jar包分离lib和resources

2021-01-21 14:13

阅读:664

标签:传输   ring   includes   with   output   编辑   程序   one   方法   

为什么要配置、依赖文件分离:

1.在传统jar包中,所有文件都打包到一个jar包中,jar非常臃肿,在进行服务更新部署时非常不便,而且传输不稳定时导致传输失败。如果过实行文件分离、在依赖不改变的情况下,仅仅上传更新后的 编译文件是非常方便的。

  1. 如果要修改一些配置文件:properties、xml,静态文件等可以直接在服务器上编辑。

那么怎么实行配置、依赖文件分离呢?

插件介绍

  1. maven-jar-plugin 这个插件式专门用来打包用的,可以配置需要打包进去的文件,程序的入口类等。
  2. maven-resources-plugin 这个插件是用来拷贝资源文件的。
  3. maven-maven-dependency-plugin 这个插件是用来拷贝依赖库的。
  4. maven-assembly-plugin 可以说包含了以上插件的功能,但是可以做到更精细的控制。
  5. spring-boot-maven-plugin 这个不用说,springboot 项目最重要的插件,整个项目的打包处理过程还是要依附于它。

打包成可执行jar,不仅仅局限SpringBoot项目(主入口函数存在)

maven-jar-plugin 插件打包jar

在pom文件中配置,但是这样 依赖的jar并不会打进来(后面会有解决方法),适用不需要依赖文件的项目。

            org.apache.maven.plugins
                maven-jar-plugin
                2.3
                            true

                            
                            xxx.xxx.Main${project.build.directory}

maven-assembly-plugin 插件打包jar

            >
                >maven-assembly-plugin>
                >

                    
                    >false>
                    >
                        
                        >jar-with-dependencies>
                    >
                    >
                        >
                            
                            >xxx.xxx.Main>
                        >
                    >
                >
                >
                    >
                        >make-assembly>
                        
                        >package>
                        >
                            
                            >assembly>
                        >
                    >
                >
            >

打包SpringBoot 项目

方案一、

>
        
        >
            >org.apache.maven.plugins>
            >maven-jar-plugin>
            >
               
                >
                    >
                        >true>
                        
                        >lib/>
                        
                        >false>
                        
                        >xxx.xxx.Application>
                    >
                    >
                        
                        >/resources>
                    >
                >
                >${project.build.directory}/dis>
            >
        >

        
        >
            >org.apache.maven.plugins>
            >maven-dependency-plugin>
            >
                >
                    >copy-dependencies>
                    >package>
                    >
                        >copy-dependencies>
                    >
                    >
                        >
                                ${project.build.directory}/dis/lib/
                            >
                        >
                    >
                >
            >

            
            >
                >maven-resources-plugin>
                >
                    >
                        >copy-resources>
                        >package>
                        >
                            >copy-resources


评论


亲,登录后才可以留言!