2016-02-12 192 views
11

mvnrepository通常會列出每個依賴項的「版本」和「更新」。Maven依賴關係 - 版本vs更新

  1. 如果我發表我自己的包,我怎麼指定「更新版」
  2. 哪個不扶養解決Maven的傳遞依賴時使用?因此,如果我的軟件包依賴於軟件包A,軟件包依賴於軟件包B,版本= 1.0,更新= 1.1。我會得到哪個版本的B?
+0

因此,您定義依賴於依賴於包B(版本1.0)的包A(版本?)。因此,如果您未將其覆蓋在包中,那麼您將獲得包B的1.0版。在您的pom文件中定義依賴關係,這個依賴關係會被檢入到您的版本控制中,這意味着在您更改您的pom文件之前這不會改變......可能是我誤解了這個問題?如果您想更新,您需要更改軟件包A(不同版本)的版本..? – khmarbaise

+0

你在說什麼「更新」?以http://mvnrepository.com/artifact/com.github.valdr/valdr-bean-validation/1.1.2爲例,您在哪裏看到「更新」? –

+0

@MarcelStör:jackson-databind是版本2.4.0,更新2.7.1-1 – EugeneMi

回答

23

我終於明白你的問題了。從一開始就給我們一個具體的例子會對你有所幫助。你在問MVNRepository的「Compile Dependencies」表的「Updates」列中的信息含義是什麼。

enter image description here

它會告訴你是否有一個特定的依賴可用的更新版本,如果有什麼最新的版本是。如果存在複選標記,則表示所討論的庫已經使用最新版本的依賴關係X.無論版本的最新版本是什麼,您都將獲得聲明的版本的依賴關係。

因此,如果您使用valdr-bean-validation 1.1.2,您也會得到jackson-databin 2.4.0作爲傳遞依賴。 2.7.1-1將是最新版本jackson-databin版本。