栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

利用assembly插件实现减少jar包大小(非springboot)

利用assembly插件实现减少jar包大小(非springboot)

实现目的

减少jar包大小(降低打包后单个jar包大小)

将静态资源、依赖jar、项目class分离。升级换版仅更新项目class打成的jar包。


实现过程 

1.用maven-jar-plugin插件对打包后的MANIFEST.MF进行配置

             
                org.apache.maven.plugins
                maven-jar-plugin
                3.2.0
                
                    
                    
                        
                            
                            ${mainClass}
                            
                            true
                            
                            lib/
                            false
                        
                        
                            
                             
                            resources/
                        
                    
                    
                        
                        **/*.class
                    
                
            

2.利用mave-assembly-plugin自定义的打包结构

             
                maven-assembly-plugin
                3.3.0
                
                    false
                    
                         
                        bin/assembly.xml
                    
                    
                    target
                
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
            

3.配置assembly.xml文件,自定义结构

    distribution
    
    
        tar.gz
    

    true

    
    
        
        
            src/main/resources/
            resources
            
            0644
        
    

    
        
            
            lib
            runtime
            
        
        
    


打包结果

最终在target下有两个包

一个是项目.jar

一个是项目.tar.gz

jar由maven-jar-plugin打出来的,仅含项目的class文件。

tar.gz由maven-assembly-plugin打出来的,根据assembly.xml配置文件,定义两个文件夹,其中lib为项目依赖jar包,resources为静态资源。


使用说明

文件目录:

项目/项目.jar

项目/lib

项目/resources

即项目.jar和lib和resources放在同一层,依赖jar放在lib下,静态资源放在resources下。

java -jar 项目.jar 即可启动项目


参考

delay_message: 基于 sqlite 实现 kafka 延时消息,实现思路适用于所有分布式消息队列,如 RocketMQ、ActiveMQ。性能表现:单线程 1.5w/s - Gitee.com

 (该引用的文件目录架构与文章所示有所区别)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/745765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号