最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Gradle生成Jar的兩種方式小結(jié)

 更新時間:2025年09月09日 09:16:49   作者:tomorrow.hello  
本文介紹使用Gradle創(chuàng)建不可執(zhí)行及可執(zhí)行的Jar包,包括將依賴Jar放入lib文件夾的方法,以及如何生成包含所有依賴的單一Jar文件,適用于SpringBoot和其他非SpringBoot項目,感興趣的可以了解一下

1.不可執(zhí)行的Jar

方式1:在控制臺執(zhí)行g(shù)radle  build

方式2鼠標選擇Gradle->Tasks->build->jar

                        

2.可執(zhí)行Jar

方式1:將依賴Jar放入lib文件夾(一般項目和SpringBoot都可以)

task copyDependencies(type: Copy) {
    from configurations.runtime
    into 'build/libs/lib'
}
jar.dependsOn(copyDependencies)
jar {
    manifest {
        attributes "Implementation-Title": project.name
        attributes "Implementation-Version": '1.0.0'
        attributes 'Main-Class': 'Test'
    }
    if (!configurations.runtime.isEmpty()) {
        manifest.attributes('Class-Path': '. lib/' + configurations.runtime.collect { it.name }.join(' lib/'))
    }
}

或者 

jar {
    String someString = ''
    configurations.runtime.each {someString = someString + " lib//"+it.name}
    manifest {
        attributes 'Main-Class': 'Program'
        attributes 'Class-Path': someString
    }
}
//清除上次的編譯過的文件
task clearPj(type:Delete){
    delete 'build','target'
}
task copyJar(type:Copy){
    from configurations.runtime
    into ('build/libs/lib')
}
//把JAR復(fù)制到目標目錄
task release(type: Copy,dependsOn: [build,copyJar]) {
// from 'conf'
// into ('build/libs/eachend/conf') // 目標位置
}

展開右側(cè)的Gradle側(cè)邊欄,找到在other下可以看到clearPj,copyJar以及release,雙擊release即可打jar包(它默認會執(zhí)行copyJar,就是把所有的第三方依賴包放到lib目錄下)

方式2:依賴包會和代碼生成一個jar包(非SpringBoot項目)

然后鼠標執(zhí)行Gradle->Tasks->build->jar

或者控制臺gradle build

或者控制臺gradle jar

jar {
    archivesBaseName = 'MiniRPC'//基本的文件名
    archiveVersion = '0.0.3' //版本
    manifest { //配置jar文件的manifest
        attributes(
                "Manifest-Version": 1.0,
                'Main-Class': 'com.mirs.minirpc.App' //指定main方法所在的文件
        )
    }
 //打包依賴包
    from {
        (configurations.runtimeClasspath).collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
}

方式3:依賴包會和代碼生成一個jar包(SpringBoot項目)

在build.gradle增加

plugins {
  id "org.springframework.boot" version "2.5.2"
}

或者

buildscript {
  repositories {
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' 
    maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.springframework.boot:spring-boot-gradle-plugin:2.5.2"
  }
}

apply plugin: "org.springframework.boot"

然后鼠標執(zhí)行Task->build->bootJar

或者控制臺執(zhí)行g(shù)radle bootJar

注意使用gadle的版本

參考:https://plugins.gradle.org/plugin/org.springframework.boot#groovy-usage

https://docs.spring.io/spring-boot/docs/2.5.2/gradle-plugin/reference/htmlsingle/#getting-started

到此這篇關(guān)于Gradle生成Jar的兩種方式的文章就介紹到這了,更多相關(guān)Gradle生成Jar內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Mybatis中的延遲加載案例解析

    Mybatis中的延遲加載案例解析

    這篇文章主要介紹了Mybatis中的延遲加載,場景結(jié)合案例分析非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • SpringCloud使用集中配置組件Config規(guī)避信息泄露

    SpringCloud使用集中配置組件Config規(guī)避信息泄露

    項目應(yīng)用中,數(shù)據(jù)庫連接信息、Access-key、Secret-key等由于其及其敏感和特殊性,一旦泄露出去就很可能會使得應(yīng)用遭到黑客攻擊,例如數(shù)據(jù)庫賬號密碼泄露可能導(dǎo)致“拖庫”,甚至數(shù)據(jù)丟失。此等事件偶有發(fā)生,那么,在分布式微服務(wù)項目中,怎么避免這種情況呢
    2022-07-07
  • Java?SpringBoot?中的操作事務(wù)

    Java?SpringBoot?中的操作事務(wù)

    這篇文章主要介紹了Java?SpringBoot?中的操作事務(wù),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • JDK13.0.1安裝與環(huán)境變量的配置教程圖文詳解(Win10平臺為例)

    JDK13.0.1安裝與環(huán)境變量的配置教程圖文詳解(Win10平臺為例)

    這篇文章主要介紹了JDK13.0.1安裝與環(huán)境變量的配置教程圖文詳解(Win10平臺為例),本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • mybatis-plus實現(xiàn)邏輯刪除的示例代碼

    mybatis-plus實現(xiàn)邏輯刪除的示例代碼

    本文主要介紹了mybatis-plus實現(xiàn)邏輯刪除的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java簡單有效實現(xiàn)將PDF轉(zhuǎn)換為TIFF圖片

    Java簡單有效實現(xiàn)將PDF轉(zhuǎn)換為TIFF圖片

    在日常開發(fā)中,我們常需要將 PDF 轉(zhuǎn)換為高質(zhì)量的 TIFF 圖片,本文將通過 Java 提供一個簡單高效的解決方案,幫助你輕松完成 PDF 到 TIFF 的轉(zhuǎn)換,并支持批量與多頁處理,有需要的可以參考一下
    2025-09-09
  • 解決Java 部署Tomcat時使用jni和jna調(diào)用DLL文件的問題

    解決Java 部署Tomcat時使用jni和jna調(diào)用DLL文件的問題

    這篇文章主要介紹了解決Java 部署Tomcat時使用jni和jna調(diào)用DLL文件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java中Scanner用法實例解析

    Java中Scanner用法實例解析

    Scanner?指的是java.util包下的Scanner類,可以接收控制臺輸入的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java中Scanner用法實例的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 基于@PostConstruct注解的使用,解決向靜態(tài)變量注入值

    基于@PostConstruct注解的使用,解決向靜態(tài)變量注入值

    這篇文章主要介紹了基于@PostConstruct注解的使用,解決向靜態(tài)變量注入值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring WebFlux 核心操作符之map、flatMap 與 Mono 常用方法詳解

    Spring WebFlux 核心操作符之map、flatMap 與 Mono&

    Spring WebFlux 是 Spring Framework 5.0 引入的響應(yīng)式 Web 框架,基于Project Reactor庫構(gòu)建,是基于ProjectReactor的響應(yīng)式Web框架,本文介紹Spring WebFlux 核心操作符之map、flatMap 與 Mono 常用方法,感興趣的朋友跟隨小編一起看看吧
    2025-12-12

最新評論

定兴县| 深泽县| 基隆市| 丹江口市| 五指山市| 瑞金市| 白河县| 哈密市| 泰顺县| 康保县| 边坝县| 北流市| 梁山县| 定结县| 青河县| 同德县| 罗平县| 中牟县| 高淳县| 商洛市| 沙雅县| 巴彦县| 沙河市| 河北区| 凤庆县| 泽州县| 明水县| 百色市| 时尚| 西和县| 六安市| 玉树县| 北流市| 都安| 嵊泗县| 富阳市| 沂南县| 泰兴市| 上思县| 年辖:市辖区| 措美县|