[maven] springboot将jar包打包到指定目录

大家好,我是烤鸭:
今天分享一下springboot将jar包打包到指定目录下。
由于之前上线都是一个打包到一个jar,由于服务多了,1个包100多M,哪怕是小版本上线都需要重新上传jar包。

1.目的


将不常用的比如spring,druid等不常用打包到lib目录,这样每次上线不需要上传这些。第三方或者常改动的还打包到本身的jar包内,每次上线都会新打包。
这样原来的100多M的jar包,可以变成2、3M。
如图所示:
原来的打包方式

[maven] springboot将jar包打包到指定目录_第1张图片

改后的方式:

[maven] springboot将jar包打包到指定目录_第2张图片

[maven] springboot将jar包打包到指定目录_第3张图片

2.修改pom


简单解释一下,includes标签内就是打入jar包第三方jar。将上面的2M的包解压缩后,就是includes的包。如图所示。

[maven] springboot将jar包打包到指定目录_第4张图片

excludeGroupIds和excludeArtifactIds 是配置不在lib目录里的包,由于java启动加载的机制是优先加载jar包,
再加载外部目录,如果jar包都存在两个地方,这样配置就没有意义了,每次还是得重新发布lib目录,所以将includes
中的包,再在excludeGroupIds 和 excludeArtifactIds 配置上


    
        
            org.springframework.boot
            spring-boot-maven-plugin
            2.0.5.RELEASE
            
                
                    
                        repackage
                        build-info
                    
                
            
            
                ZIP
                
                    
                        nothing
                        nothing
                    
                    
                        com.etc
                        etc-manage-api
                    
                    
                        com.etc
                        etc-manage-core
                    
                    
                        com.etc
                        etc-manage-rpc-api
                    
                    
                        com.sinoiov.etc.apollo
                        apollo-spring-boot-starter
                    
                
            
        
        
            org.apache.maven.plugins
            maven-dependency-plugin
            
                
                    copy
                    package
                    
                        copy-dependencies
                    
                    
                        
                            com.sinoiov.etc.apollo
                        
                        
                            etc-manage-api,etc-manage-core,etc-manage-rpc-api
                        
                        ${project.build.directory}/lib
                    
                
            
        
    

3.修改启动脚本


原脚本

java -jar etc-manage-service-basic-2.2.0.jar

现脚本 (如果相对目录不好用,就用绝对目录试试)

java Dloader.path=../lib  -jar etc-manage-service-basic-2.2.0.jar

 

你可能感兴趣的:(maven)