2017-03-27 34 views
0

假設我們有三個項目(版本在括號中):sbt,如何維護自己的庫?

A (0.0.1) 
B (0.0.1), depends on A (0.0.1) 
C (0.0.1), depends on B (0.0.1) 

,c取決於一個& B.

現在,我們要使用這個庫,依賴於我們的新項目(d) 。 所以我們添加DEPS:

C (0.0.1) 

然後我們瞭解,缺少一些功能,所以我們創建和增加的版本0.0.2,並添加這種依賴到d:

C (0.0.1) 
A (0.0.2) 

當編譯D時,Sbt會抱怨這個代價,類似於

[警告]您的庫依賴關係可能存在不兼容性。 [提醒]以下是一些被驅逐的庫:[提醒] * 答:0.0.1 - > 0.0.2

所以我不知道,什麼是對這樣的情況下,最好的做法呢?我認爲sbt知道語義版本控制,並理解0.0.1與0.0.2兼容,並且不會顯示任何警告。

+0

[SBT:是否明智地解決庫依賴關係的驅逐警告](http://stackoverflow.com/questions/42520273/sbt-is-it-wise-to-fix-eviction-warnings-of -library依賴性) – danielnixon

回答

1

我看到2種方式:

  1. 當您增加A版本,還增加A的版本B取決於:

    B (0.0.1), depends on A (0.0.2)

  2. 添加SNAPSHOT到版本:

    A (0.0.1-SNAPSHOT)

    B (0.0.1), depends on A (0.0.1-SNAPSHOT)

而且語義版本並不是一個嚴格的規則,你不能依靠它完全是因爲不是所有的開發商堅持下去,這就是爲什麼我認爲SBT警告是合法的。