springboot项目将第三方jar、配置文件打包到jar包外部

springboot项目默认打成一个jar包,在多环境时不友好,需要将依赖的第三方jar及resources目录下的配置文件打包到与jar包同级目录下,方便环境变更,具体操作如下:

打包到外部目录

  1. pom.xml需修改

     
        
            
                maven-assembly-plugin
                
                    false
                    
                        src/main/assembly/assembly.xml
                    
                    ${project.build.directory}/gwall/
                
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
            
    
            
            
                org.apache.maven.plugins
                maven-jar-plugin
                
                    
                        
                            com.xxl.job.admin.XxlJobAdminApplication
                            
                            lib/
                            true
                        
                        
                            resources/
                        
                    
                
            
        
    
  2. 添加配置文件
    springboot项目将第三方jar、配置文件打包到jar包外部_第1张图片
    assembly.xml文件内容如下:

    
    
    distribution
    
    
    
        tar.gz
    
    
    false
    
    
    
        
            src/main/bin
            /
            0755
        
        
            src/main/resources/
            /resources
            0644
        
    
    
    
        
            
            /lib
            runtime
            
                ${project.groupId}:${project.artifactId}
            
        
        
            
            /
            
                ${project.groupId}:${project.artifactId}
            
        
    

    start.sh文件内容如下:

    #!/bin/bash
    curpath=`pwd`
    app=xxl-job-admin-2.1.0.jar
    echo 'curpath:$curpath    app:$app'
    ps -aux|grep $curpath/$app|grep -v grep|awk '{print $2}'|xargs -r kill -9
    nohup java  -jar $curpath/$app > $curpath/nohup.out 2>&1 &

    start.bat文件内容如下:

    @echo off & setlocal enabledelayedexpansion
    java -jar xxl-job-admin-2.1.0.jar
    pause

    最终结果如下:

    springboot项目将第三方jar、配置文件打包到jar包外部_第2张图片

    注意问题

    logback不生效

    主要是使用logback-spring.xml
    另外需要在application.yml中配置

     logging:
       config: config/logback-spring.xml

    参见:
    https://my.oschina.net/u/2022...

你可能感兴趣的:(springboot,打包,资源文件,logback,jar)