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

gradle项目离线打包

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

gradle项目离线打包

因交付客户源代码,不能连接公司maven仓库,需要进行离线打包,需要进行一些调整,将过程记录下来,防止重复踩坑:

1、工程中创建lib目录(和build.gradle文件同级);
2、通过在线方式生成完整的jar包,解压jar包,将其中的BOOT-INF下的ib中的jar包全部拷贝到工程下的lib目录;
3、修改gradle打包文件,将仓库地址修改为本地lib目录,依赖全部改为依赖本地目录

由于build.gradle中依赖了基础的base.gradle文件,其中涉及到远程仓库及插件方面的地址,需要进行改造:

buildscript {
    repositories {
        maven{
            url  uri('file:./lib')
        }
    }
    dependencies {
        classpath fileTree(includes:['*.jar'], dir:'lib')
        
    }
}

apply plugin: org.springframework.boot.gradle.plugin.SpringBootPlugin
apply plugin: com.gorylenko.GitPropertiesPlugin
apply plugin: io.franzbecker.gradle.lombok.LombokPlugin
apply plugin: 'java'
apply plugin: 'idea'
apply plugin:'groovy'
apply plugin: 'eclipse'
apply plugin: 'jacoco'
jacoco{
    toolVersion = "0.8.2"
}
repositories {
    maven{
        url  uri('file:lib')
    }
}
……

build.gradle文件:

apply from: 'base.gradle'

group = 'com.xxxx.xxxx'
version = '1.0.0'

configurations.all {
    // check for updates every build
    resolutionStrategy.cacheChangingModulesFor 10, 'seconds'
}

dependencies {
   compile fileTree(dir: 'lib', include: '*.jar')
}

4、下载plugin插件对应的依赖包。这一步是主要踩坑的地方,本地lib依赖的方式不会主动去拉取依赖包,因此需要手动下载。
分别在如下两个网站去查找jar包依赖关系:
(1)https://search.maven.org
(2)https://mvnrepository.com
例如,对于org.springframework.boot.gradle.plugin.SpringBootPlugin,通过原来的classpath引用中的GAV进行搜索:

在搜索结果中查看pom文件里面的dependency,将其中的依赖按相同的方式搜索,然后下载jar包,放到lib目录,直到不再提示找不到class的错误。

5、lombok特殊处理,此处也是一个踩坑之处,项目中程序编译时候使用的lombok和plugin中的版本不同且有一定对应关系。
(1)首先需要下载和plugin对应的lombok对应版本,可以去第4步里面的两个网站去查询下载;
(2)然后需要将jar安装GAV的目录结果保存,如:orgprojectlomboklombok1.16.20
在lib下创建对应目录,将jar文件和pom文件都拷贝到orgprojectlomboklombok1.16.20目录

6、执行打包命令进行打包即可,例如:gradle build -x test

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

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

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