整合boot和cloud時候針對和區別的疑惑

首先看,在maven下,對微服務進行聚合時候,看到parentId和dependencyManagement。很相似。所以這裏,我想對這兩個標籤進行說明一下,把自己的經驗告訴大家。

如圖:
以下爲parentId的方式:

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
  </parent>

以下爲dependencyManagement的方式:

<dependencyManagement>
  <dependencies>


    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>1.5.9.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
</dependencies>
</dependencyManagement>

以上兩種整合方式,針對不進行聚合依賴的情況下,而且只是單獨的ssm項目情況,沒有區別。
但是,一旦項目存在聚合,子類和父類不能都存在一樣的。這是因爲springboot在創建單應用項目的時候,有默認的依賴;我們在自定義wyait-parent項目時,如果直接以springboot的parent作爲wyait-parent項目的父依賴管理的話,子項目會由於存在兩個parent而報錯,無法導入依賴。

所以,存在的標籤,它是所有dependency的頂級父類,類似parenid的效果,但是,他可以存在多個。而且,更好的管理對應的jar,可以把jar單獨在對應的頂級依賴父類裏面統一管理

針對cloud和boot的聚合依賴下,我項目就採用了方案去解決依賴衝突問題。

http://blog.51cto.com/wyait/2137112

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章