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

使用Gradle打依賴包失敗的問題及解決

 更新時間:2023年04月14日 09:32:45   作者:kanyun123  
這篇文章主要介紹了使用Gradle打依賴包失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用Gradle打依賴包失敗

以前在使用Maven開發(fā)java web的項目中,我們通常會用多模塊來開發(fā),而使用Maven大大簡化了多模塊的開發(fā)。

現(xiàn)在Maven已經(jīng)十分穩(wěn)定了,而近期由于接觸Gradle,被其簡約的配置,和靈活性所吸引!用Gradle來代替Maven是一個很不錯的選擇。

Gradle使用Maven的命令只需要引入插件即可!

plugins {
? ? id 'java'
? ? id 'maven'
? ? id 'maven-publish'
}

如上所示,引入maven插件就可以使用 gradlew install 來代替 mvn install命令了

我在開發(fā)時,需要開發(fā)一個springboot-start的依賴,因此,因此需要單獨起一個項目來寫該依賴

但是在gradlew install 時 卻報錯了:

* What went wrong:
Execution failed for task ':install'.
> Could not publish configuration 'archives'
   > Cannot publish artifact 'dynamic-datasource-spring-boot-starter.jar' (E:\dynamic-datasource-spring-boot-starter\build\libs\dynamic-datasource-spring-boot-starter-1.0-SNA
PSHOT.jar) as it does not exist.

提示找不到打好的jar包,然后去build目錄下面去找,果然沒有打好的jar包

然后使用 gradlew install -d 查看 install命令的詳細輸出發(fā)現(xiàn):

09:18:57.865 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :jar SKIPPED

發(fā)現(xiàn) jar這個任務跳過去了。

經(jīng)過檢查后發(fā)現(xiàn)我的gradle依賴中添加了一個插件

org.springframework.boot

我把這個插件去掉后,就可以成功打包了,但是這個插件是我規(guī)范springboot的版本使用的,如果不使用這個插件,我就需要在使用的springboot的各個依賴中添加版本號

經(jīng)過測試后發(fā)現(xiàn)

該插件:

除了可以規(guī)定使用的springboot的版本外,同時還增加了名為bootRun和bootJar的gradle任務,當項目作為一個其他項目的依賴時,不應引入該插件,否則會提示打包失敗,找不到MainClass,當項目是作為一個完整的項目時,引入此依賴,那么即規(guī)定了springboot的版本,同時也可以使用 gradlew bootRun命令來運行此項目

那么打包問題解決了,如何解決版本問題呢?gradle 如果像maven那樣引入spring-boot-starter-parent 的pom依賴呢

使用:

implementation platform("org.springframework.boot:spring-boot-starter-parent:2.1.8.RELEASE")

就可以了

如果 依賴 并不是一個單獨的項目,而是一個單獨的模塊,那么這個時候,就需要在這個單獨的模塊中去排除這個依賴

找到父模塊對應的build.gradle 文件

修改

allprojects { ? ? ?
?
? ? // ? ?這些模塊不應用 springboot插件
? ? if (!name.startsWith("common") && !name.startsWith("domain")) {
? ? ? ? apply plugin: 'org.springframework.boot'
? ? ? ? apply plugin: 'io.spring.dependency-management'
? ? }
?
}

即可。

在使用maven 時,經(jīng)常會看到optional關鍵字,其表示可選依賴:

應用場景

應用場景:projectA 依賴projectB,  projectB 依賴projectC時 

<dependency>
? <groupId>com.itear.projectC</groupId>
? <artifactId>projectC</artifactId>
? <version>0.0.1-SNAPSHOT</version>
? <optional>true</optional>
</dependency>

當projectB的<optional>true</optional>時, projectA中如果沒有顯式的引入projectC, 則projectA不依賴projectC, 即projectA可以自己選擇是否依賴projectC 

默認<optional>的值為false, 及子項目必須依賴

而在gradle中沒有這個關鍵字,可以使用 compileOnly 代替 implementation 來引入依賴 以達到maven optional關鍵字的效果

Gradle不能加載依賴包的處理

大早上的公司突然斷了一次電,來電后,我開啟機器,發(fā)現(xiàn)我的工程就是拉取不到本地maven上的依賴包,一下子就懵逼了。

我檢查網(wǎng)絡是通的

拉取第三方的依賴庫沒有問題

我使用其他同事的機器進行Sync Project,OK的。

一下子,就有點不知所措了,昨天都是好好的,斷個電就突然不行了,還以為是我Gradle文件被改過了,但事實上并沒有。

于是想baidu下看看有沒有其他人曾經(jīng)碰到過這個問題,發(fā)現(xiàn)并沒有什么卵用。

仔細看了下Gradle的輸出日志,發(fā)現(xiàn)了一點信息,Could not load module metadata from XXX,于是我就去那個路徑下看了看,確實發(fā)現(xiàn)了

C:\Users\Administrator\.gradle\caches\modules-2\metadata-2.23\descriptors\XXX

因為是caches目錄下,所以我就刪除了XXX下面的所有文件,然后重新Sycn,就正常了。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot集成PDFBox實現(xiàn)電子簽章的代碼詳解

    SpringBoot集成PDFBox實現(xiàn)電子簽章的代碼詳解

    Apache PDFBox 是一個開源的 Java 庫,用于處理 PDF 文檔,它提供了一系列強大的功能,包括創(chuàng)建、渲染、拆分、合并、加密、解密 PDF 文件,以及從 PDF 中提取文本和元數(shù)據(jù)等,本文給大家介紹了SpringBoot集成PDFBox實現(xiàn)電子簽章,需要的朋友可以參考下
    2024-09-09
  • Go并發(fā)編程中使用channel的方法

    Go并發(fā)編程中使用channel的方法

    本文給大家介紹Go并發(fā)編程中使用channel的方法,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11
  • SpringBoot2開啟Actuator端點監(jiān)控的方法

    SpringBoot2開啟Actuator端點監(jiān)控的方法

    這篇文章主要介紹了SpringBoot2開啟Actuator端點監(jiān)控的相關資料,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Struts1簡介和入門_動力節(jié)點Java學院整理

    Struts1簡介和入門_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了Struts1簡介和入門的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringBoot數(shù)據(jù)層處理方案精講

    SpringBoot數(shù)據(jù)層處理方案精講

    這篇文章主要介紹了SpringBoot數(shù)據(jù)層技術的解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • java反射之通過反射了解集合泛型的本質(詳解)

    java反射之通過反射了解集合泛型的本質(詳解)

    下面小編就為大家?guī)硪黄猨ava反射之通過反射了解集合泛型的本質(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Spring boot AOP通過XML配置文件聲明的方法

    Spring boot AOP通過XML配置文件聲明的方法

    這篇文章主要介紹了Spring boot AOP通過XML配置文件聲明,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • SpringBoot 使用Mongo的GridFs實現(xiàn)分布式文件存儲操作

    SpringBoot 使用Mongo的GridFs實現(xiàn)分布式文件存儲操作

    這篇文章主要介紹了Spring Boot 使用Mongo的GridFs實現(xiàn)分布式文件存儲操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • mybatis-sqlserver批量新增返回id方式

    mybatis-sqlserver批量新增返回id方式

    這篇文章主要介紹了mybatis-sqlserver批量新增返回id方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java多線程 CompletionService

    Java多線程 CompletionService

    這篇文章主要介紹了Java多線程 CompletionService,CompletionService用于提交一組Callable任務,其take方法返回已完成的一個Callable任務對應的Future對象,需要的朋友可以參考一下文章詳細內容
    2021-10-10

最新評論

神木县| 六安市| 财经| 沙湾县| 上栗县| 大足县| 额敏县| 陆良县| 开江县| 哈尔滨市| 徐闻县| 五河县| 江华| 云霄县| 巴塘县| 杭州市| 平果县| 任丘市| 忻城县| 成武县| 洛阳市| 中阳县| 保靖县| 巴彦淖尔市| 新疆| 阜宁县| 新乐市| 武邑县| 监利县| 张家港市| 深泽县| 彭州市| 昌乐县| 陇西县| 宜都市| 榆林市| 苏尼特右旗| 麻城市| 武冈市| 克拉玛依市| 新巴尔虎右旗|