gradle命令打jar包【可执行jar或者工具类jar包】
平常我们基本用idea工具生成jar包,但有些人是不使用idea进行开发的(比如我们老板用vscode开发),所以打包时就受到了限制。所以让我想一个他也能打包的方法,所以我就想到了用gradle打包工具类jar包。方法如下:
在build.gradle配置文件需要加上:
apply plugin: 'java'
apply plugin: 'idea'
当需要包含依赖jar包时,配置文件还需要加上:
jar {
manifestContentCharset 'utf-8'
metadataCharset 'utf-8'
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
但打包时有时会报如下的错误:
解决方法是在build.gradle配置文件需要加上:
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
配置文件整体配置为:
plugins {
id 'java'
}
group = 'com.smartapp'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
apply plugin: 'java'
apply plugin: 'idea'
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
jar {
manifestContentCharset 'utf-8'
metadataCharset 'utf-8'
manifest {
attributes(
// "Main-Class": "com.Test" //主函数的名称,如果只有一个main方法,可以在这里设置好。可执行jar包需要加上。
)
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
repositories {
repositories {
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
}
mavenCentral()
}
dependencies {
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.16'
compile group: 'com.alibaba', name: 'druid', version:'1.1.19'
testCompile group: 'junit', name: 'junit', version:'4.12'
}
修改完配置文件后,在项目根目录下运行命令:
gradle build -x test
-x test:跳过测试类文件