国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 如何避免Java項目中的循環依賴問題

如何避免Java項目中的循環依賴問題

2021-03-02 23:20編碼是個技術活wang37444 Java教程

當我們開發一個Java項目時,我們要做的第一件事就是添加我們需要使用的依賴項,庫或框架。為此,我們使用依賴管理工具(例如Maven或Gradle),來管理我們的項目依賴。

如何避免Java項目中的循環依賴問題

 前言

當我們開發一個Java項目時,我們要做的第一件事就是添加我們需要使用的依賴項,庫或框架。為此,我們使用依賴管理工具(例如Maven或Gradle),來管理我們的項目依賴。

我們為項目添加的每個依賴項都包含其他依賴項。我們都知道依賴傳遞這個概念。在許多情況下,項目的依賴傳遞不會有任何的問題,因為依賴管理工具(Maven或Gradle)很好地解決了不同庫之間的版本沖突。但是,在其他情況下,當使用我們的API /庫時或者不同的庫依賴的同一個庫不同版本,這些沖突會產生一些錯誤。

舉個例子:

如何避免Java項目中的循環依賴問題

圖中我們的API 庫導入了一些庫,但這些庫同時依賴了庫X的不同版本,這樣就好出現依賴沖突。

如何解決這個問題

在沒有Maven & Gradle 庫管理工具之前,我們開發一個Java項目需要耗費大量的時間去解決我們項目的依賴沖突,Maven & Gradle工具的引入極大的解決了我們依賴的問題,但很多時候我們還是會看到諸如:ClassNotFoundException,MethodNotSupportedException,NoClassDefNotFound這個時候很多情況下依賴開發人員的經驗手動去解決,同時我們也可以依賴一些開發工具去幫助我們排查問題,如:

Eclipse / IntelliJ 開發工具中的Dependency Analyzer

他可以展示所有的依賴項并協助開發人員定位到有沖突的庫。

如何避免Java項目中的循環依賴問題

當您檢測哪些庫包含導致問題的依賴項時,需要從我們的依賴項管理文件(pom.xml或build.gradle)中排除所有包含不同版本依賴項的庫。

maven-enforcer-plugin插件

Maven提供了Maven-Enforcer-Plugin插件,用來校驗約定遵守情況(或者說校驗開發環境)。比如JDK的版本,Maven的版本,開發環境(Linux,Windows等),依賴jar包的版本等等

插件使用只需要在pom中引入即可:

 

<plugin> 

    <groupId>org.apache.maven.plugins</groupId> 

    <artifactId>maven-enforcer-plugin</artifactId> 

    <version>1.3.1</version> 

    <executions> 

        <execution> 

            <id>enforce</id> 

            <configuration> 

                <rules> 

                    <DependencyConvergence/> 

                </rules> 

            </configuration> 

            <goals> 

                <goal>enforce</goal> 

            </goals> 

        </execution> 

    </executions> 

</plugin> 

在進行mvn clean package的時候,會在console中打印出來沖突的jar版本和其父pom,如下:

[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce) @ uaf-uafei-provider --- 

[WARNING]  

Dependency convergence error for com.google.guava:guava:16.0 paths to dependency are: 

+-com.uaf.uafei:uaf-uafei-provider:0.2.09-SNAPSHOT 

  +-com.uaf:microservice-sleuth:0.2.09-SNAPSHOT 

    +-org.springframework.cloud:spring-cloud-starter-openfeign:2.1.5.RELEASE 

      +-io.github.openfeign:feign-hystrix:10.4.0 

        +-com.netflix.archaius:archaius-core:0.7.6 

          +-com.google.guava:guava:16.0 

and 

+-com.uaf.uafei:uaf-uafei-provider:0.2.09-SNAPSHOT 

  +-com.uaf:microservice-apollo:0.2.09-SNAPSHOT 

    +-com.google.inject:guice:4.1.0 

      +-com.google.guava:guava:19.0 

 

[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message: 

Failed while enforcing releasability the error(s) are [ 

Dependency convergence error for com.google.guava:guava:16.0 paths to dependency are: 

+-com.uaf.uafei:uaf-uafei-provider:0.2.09-SNAPSHOT 

  +-com.uaf:microservice-sleuth:0.2.09-SNAPSHOT 

    +-org.springframework.cloud:spring-cloud-starter-openfeign:2.1.5.RELEASE 

      +-io.github.openfeign:feign-hystrix:10.4.0 

        +-com.netflix.archaius:archaius-core:0.7.6 

          +-com.google.guava:guava:16.0 

and 

+-com.uaf.uafei:uaf-uafei-provider:0.2.09-SNAPSHOT 

  +-com.uaf:microservice-apollo:0.2.09-SNAPSHOT 

    +-com.google.inject:guice:4.1.0 

      +-com.google.guava:guava:19.0 

結論

依賴沖突是開發過程中比較耗時的一個問題,通過諸如以上的一些功能協助我們盡快定位到問題,但最好的解決方式還是要遵循開發中的規范,約定優于配置。

原文地址:https://mp.weixin.qq.com/s/d0TRBo9uG4NTYh_TS88lYQ

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 色香蕉视频 | 久久综合久色欧美综合狠狠 | 欧美日韩一区二区在线观看 | 久久久精品播放 | 在线播放91 | 亚洲免费视频一区二区 | 久久精品中文字幕大胸 | 久久精品国产v日韩v亚洲 | 欧美一级黄色片网站 | 在线黄色网 | 一区二区三区回区在观看免费视频 | 国产在线a | 九九九九国产 | 一区二区三区国产视频 | www.欧美.com| 欧美狠狠干| 韩日在线| 亚洲午夜精品视频 | 精品成人av| 在线视频三级 | 欧美日韩精品免费 | 奇米亚洲午夜久久精品 | 91亚洲精品在线观看 | 午夜私人影院在线观看 | 99热这里有 | 欧美人成在线观看 | 欧美日韩亚洲一区二区 | 噜噜噜噜狠狠狠7777视频 | 亚洲精品视频免费 | 欧美一区二区三区在线播放 | 久久久久久久久久久福利观看 | 久久久激情视频 | a欧美| 91麻豆精品国产91久久久资源速度 | 国产97色在线 | 亚洲 | 亚洲免费视频一区二区 | 久久中文字幕在线观看 | 精品免费久久久久久久苍 | 99色综合| 一级免费毛片 | 秋霞午夜|