spring boot使用 assembly 对静态文件以及第三方jar进行分离打包,并整合到tar.gz包(解压此包就可得到 resources,lib,jar)

1,配置当前 spring boot 项目中的 prom 文件

在pom.xml中,修改build配置项,根据自己的项目实际情况,进行适当修改!


    

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

        
            org.apache.maven.plugins
            maven-resources-plugin
            
                
                    copy-resources
                    package
                    
                        copy-resources
                    
                    
                        
                            
                                src/main/resources
                            
                        
                        ${project.build.directory}/resources
                    
                
            
        
        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    *.yml
                    *.properties
                    *.xml
                    *.docx
                    *.txt
                    liquibase/**
                    python/**
                    mapper/**
                    META-INF/**
                
            
        

        
            org.springframework.boot
            spring-boot-maven-plugin
            
                ZIP
                
                    
                        non-exists
                        non-exists
                    
                
                true
            
            
                
                    
                        repackage
                    
                
            
        
        
            maven-assembly-plugin
            3.0.0
            
                
                    
                    src/main/assembly/assembly.xml
                
            
            
                
                    make-assembly
                    package
                    
                        single
                    
                
            
        
    


 

一共涉及5个plugin,分别是maven-dependency-plugin、maven-resources-plugin、maven-jar-plugin、spring-boot-maven-plugin、maven-assembly-plugin,分别可以对依赖,资源配置,可执行jar,springboot的maven管理,再把以上独立分离模块打包组装tar.gz。
 

2,创建并配置 assembly.xml,在对应目录下创建  如:src/main/assembly/assembly.xml,assembly.xml进行如下设置:


    
    
    ${project.version}

    
    
        tar.gz
    
    false
    
        

        
        
            ${basedir}/src/bin
            bin
            0755
            
                **.sh
                **.bat
            
        

        
        
            ${basedir}/target/classes
            resources
            0644
            
                *.yml
                mapper/**/*.xml
                static/**
                templates/**
                python/**
                *.xml
                *.properties
            
        
        
        
            ${project.build.directory}/lib
            ${file.separator}lib
            
                *.jar
            
            0755
        
        
            ${project.build.directory}
            ${file.separator}
            
                *.jar
            
            0755
        
    

3,进行打包操作

在打包目录下会看到一个 xxx.tar.gz 文件

(1)解压xxx.tar.gz 文件后 会有 lib(第三方jar包),resources(静态资源文件),xxx.jar (spring boot 执行文件)

(2) 用压缩软件打开 解压后的 jar 执行文件 删除 \BOOT-INF\classes 下存放静态文件或者模板文件的文件夹(一般是static和templates)后,关闭压缩文件即可

 

4,运行 spring boot 项目

启动命令 java -jar -Dloader.path=.,resources,lib rbj-web-1.0.jar

 

你可能感兴趣的:(java)