Gradle 构建jar包,依赖和配置分离

项目环境:
springboot 2.1.5-release
gradle 6.7.x
idea2020.3


// 将依赖包复制到lib目录
task copyJar(type: Copy) {
    // 清除现有的lib目录
    delete "$buildDir\\libs\\lib"
    from configurations.runtimeClasspath
    into "$buildDir\\libs\\lib"
    from configurations.compileClasspath
    into "$buildDir\\libs\\lib"
}

// 拷贝配置文件
task copyConfigFile(type: Copy) {
    // 清除现有的配置目录
    delete "$buildDir\\libs\\config"
    from('src/main/resources')
    into 'build/libs/config'
}

// 配置bootJar进行打包
bootJar {
    // jar包名称,默认是settings.gradle下的工程名 rootProject.name = 'my-service'
    archiveBaseName = 'my-service'
    // jar包版本号
    archiveVersion = '0.0.1'
    // 排除所有的jar
    excludes = ["*.jar"]
    // lib目录的清除和复制任务
    dependsOn copyJar
    // 配置目录的清除和复制任务
    dependsOn copyConfigFile

    // 指定依赖包的路径
    manifest {
        attributes "Manifest-Version": 1.0,
                'Class-Path': configurations.runtimeClasspath.files.collect { "lib/$it.name" }.join(' ')
    }
}

 

将上面的内容复制到build.gradle文件中

直线gradle build即可

 

你可能感兴趣的:(java,spring,gradle,java,gradle)