build.gradle核心代码如下:
jar {
manifest {
attributes "Main-Class": "com.example.sample.Application"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
完整代码如下:
group 'com.example.sample'
version '2.1.6'
apply plugin: 'java'
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
sourceCompatibility = 1.8
repositories {
maven { url "https://maven.aliyun.com/repository/central" }
maven { url "https://maven.aliyun.com/repository/jcenter" }
mavenCentral()
// jcenter()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile 'org.swinglabs.swingx:swingx-core:1.6.5'
compile "com.squareup.okhttp3:okhttp:3.14.6"
compile 'com.alibaba:fastjson:1.2.70'
compile 'org.quartz-scheduler:quartz:2.3.0'
compile 'com.google.zxing:core:3.4.0'
compile 'com.google.zxing:javase:3.4.0'
compile 'com.google.code.gson:gson:2.8.6'
compile 'mysql:mysql-connector-java:5.1.39'
compile "org.apache.commons:commons-lang3:3.6"
compile "commons-net:commons-net:3.6"
compile "io.github.willena:sqlite-jdbc:3.33.0.1"
compile "io.projectreactor.netty:reactor-netty:0.9.9.RELEASE"
compile "org.apache.commons:commons-compress:1.9"
// 不引入xz依赖会在new SevenZFile的时候报错java.lang.NoClassDefFoundError: org/tukaani/xz/FilterOptions
compile "org.tukaani:xz:1.9"
//解压rar5,所需依赖开始
compile "com.github.axet:java-unrar:1.7.0-8"
compile "com.github.junrar:junrar:4.0.0"
compile "net.sf.sevenzipjbinding:sevenzipjbinding:16.02-2.01"
compile "net.sf.sevenzipjbinding:sevenzipjbinding-all-platforms:16.02-2.01"
compile "org.apache.commons:commons-compress:1.9"
compile "org.tukaani:xz:1.5"
compile "commons-io:commons-io:2.8.0"
compile "com.aliyun.openservices:aliyun-log:0.6.64"
compile "org.apache.poi:poi:4.1.0"
compile "org.apache.poi:poi-ooxml:4.1.0"
compile "net.lingala.zip4j:zip4j:1.3.2"
}
jar {
manifest {
attributes "Main-Class": "com.example.sample.Application"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
双击gradle条目下的tasks--build---assemble就可以生成jar;
生成目录在"项目根目录\build\libs"