فهرست منبع

支持 jar 瘦身打包

hubin 7 ماه پیش
والد
کامیت
3c433a8b21
1فایلهای تغییر یافته به همراه21 افزوده شده و 0 حذف شده
  1. 21 0
      build.gradle

+ 21 - 0
build.gradle

@@ -134,3 +134,24 @@ dependencies {
     testAnnotationProcessor("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)