gradle:打包jar
gradle:打包jar
·
题外话:gradle工程的打包(源码包)
打包的时候把bulid目录以及 .gradle目录删掉,使工程只有代码,占据空间较少。
打瘦包:不带依赖
jar {
manifest {
attributes 'Built-By': System.getProperty('user.name'),
'Build-Jdk': System.getProperty('java.version')
}
}

打包jar:携带依赖
//第一种方法:未测试
jar {
String runtimePath = ''
configurations.runtime. each {runtimePath = runtimePath + " lib//" +it.name} // 本地lib
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } // implementation 相关的引入解压并打包入新的jar中
}
manifest {
attributes 'Main-Class' : 'com.bigdata.flink.WindowWordCount' // 主类类名
attributes 'Class-Path' : runtimePath
}
}
//第二种方法:测试成功
// 构建可执行 jar 包,运行依赖jar内容会直接打到 jar 里面
// 指明主类:
shadowJar {
manifest {
attributes(
// 运行主类的全称类名
'Main-Class': 'org.example.Main'
)
}
zip64 true
archiveClassifier.set('')
// 打包后的jar包文件名
archiveBaseName.set('java-example')
archiveVersion.set('')
}
// 未指明主类
shadowJar {
mergeServiceFiles()
zip64 true
archiveClassifier.set('')
archiveBaseName.set('spark-plugin')//指定jar名字
archiveVersion.set('')
// 打包时排除指定的 jar 包
dependencies {
exclude(dependency('com.google.code.findbugs:jsr305'))
}
// 将 build.gradle 打入到 jar 中, 方便查看依赖包版本
from("./") {
include 'build.gradle'
}
}
//注意提前安装相应的插件即写明以下代码:(也在build.gradle里面)
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.1'
}

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)