栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring boot 2.5.x + gradle 7.2 版本 生成、上传依赖包到maven

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring boot 2.5.x + gradle 7.2 版本 生成、上传依赖包到maven

spring boot 2.5.x + gradle 7.2 版本 生成、上传依赖包到maven build.gradle 主要配置内容

build.gradle文件内容如下

plugins {
    id 'org.springframework.boot' version '2.5.6' // 指定依赖spring boot的版本
    id 'java'
    id 'maven-publish' //gradle 发布需要用到的插件
}

apply plugin: 'io.spring.dependency-management'

repositories {
    maven {
        allowInsecureProtocol = true
        url MAVEN_REPOSITORY_ADDR
    }
}

group = 'com.company.test'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

bootJar.enabled = false //不生成可运行jar包

configurations {
    developmentonly
    runtimeClasspath {
        extendsFrom developmentonly
    }
}

java {
    //withJavadocJar() //生成java-doc 
    withSourcesJar() //生成源码,上传后方便查看
}

jar {
    enabled = true //生成依赖jar包
    archiveClassifier = '' //取消原来plain的后缀
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
    repositories {
        maven {
            credentials {
                username MAVEN_REPOSITORY_USER // maven 仓库用户
                password MAVEN_REPOSITORY_PWD // maven 仓库密码
            }
            url MAVEN_REPOSITORY_TEST
            allowInsecureProtocol true // 允许访问非https仓库
        }
    }
}

dependencyManagement {
    resolutionStrategy {
        cacheChangingModulesFor 0, 'seconds'
    }
}

dependencies {
    ... // 项目依赖
}
禁用gradle 6.0.1 开始 maven-publish 的sha256和sha512校验

从gradle 6.0.1 版本开始,使用maven-publish插件上传依赖包,除了上传sha1签名,还会上传sha256和sha512签名,如果目前使用的maven仓库不支持sha256和sha512校验,上传时将会出现告警:

> Task :publishMavenJavaPublicationToMavenRepository
Cannot upload checksum for module-maven-metadata.xml because the remote repository doesn't support SHA-256. This will not fail the build.
Cannot upload checksum for module-maven-metadata.xml because the remote repository doesn't support SHA-512. This will not fail the build.

不会影响上传,但是可以通过在gradle.properties里面设置systemProp.org.gradle.internal.publish.checksums.insecure=true来取消上传和校验sha256和sha512

生成的依赖jar包后带有plain后缀,其他项目依赖不成功

需要在gradle.build里面添加以下配置,就可以去除依赖jar包的plain后缀

jar {
   enabled = true
   archiveClassifier = '' //use empty string
}
参考资料

gradle 6.0.1 release-notes
Spring Boot 2.5.0 generates plain.jar file. Can I remove it?
https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:archiveClassifier


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

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

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