|
@@ -134,3 +134,24 @@ dependencies {
|
|
testAnnotationProcessor("org.projectlombok:lombok")
|
|
testAnnotationProcessor("org.projectlombok:lombok")
|
|
testCompileOnly("org.projectlombok:lombok")
|
|
testCompileOnly("org.projectlombok:lombok")
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// 执行 jar 命令编译
|
|
|
|
+jar {
|
|
|
|
+ // 自定义 jar 任务以设置 MANIFEST.MF 配置分离 lib 加载
|
|
|
|
+ manifest {
|
|
|
|
+ attributes(
|
|
|
|
+ 'Main-Class': 'com.aizuda.boot.BootApplication',
|
|
|
|
+ 'Class-Path': configurations.runtimeClasspath.collect(({ "lib/${it.name}" } as Closure<Object>)).join(' ')
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 复制依赖到 lib 目录的任务
|
|
|
|
+tasks.register('copyLibs', Copy) {
|
|
|
|
+ delete "$buildDir/libs/lib" // 删除历史包
|
|
|
|
+ from configurations.runtimeClasspath
|
|
|
|
+ into "$buildDir/libs/lib" // 输出到 build/libs/lib
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// 仅在 jar 任务执行时,copyLibs 任务将被执行
|
|
|
|
+jar.finalizedBy(copyLibs)
|