簡體   English   中英

常春藤間接依賴性列出兩次

[英]Ivy Indirect Dependency Listed Twice

我的類路徑包含兩個不同版本的間接依賴項,我不明白為什么。

我的子項目(“myJar”)依賴於依賴於“lib-subprojA”的“utils”子項目。 我有所有這些項目的代碼,但它們是專有的,所以我不能發布片段。

myProject-myJar -> myProject-utils -> lib-subprojA

我對lib-subprojA進行了更改; 更改前的最后一個版本是0.0.100-SNAPSHOT。 包含我的更改的版本是0.0.101-SNAPSHOT。 當我查看“myProject-myJar”的類路徑時,我發現“lib-subprojA-0.0.100-SNAPSHOT.jar”(舊版本)和“lib-subprojA-0.0.101-SNAPSHOT.jar”(最新版本)版)。 不知道為什么兩者都在classpath中,但是我無法編譯“myProject-myJar”,因為它使用了舊版本的“lib-subprojA”。

這發生在Eclipse(使用IvyDE)和sbt( sbt clean update compile )中。 我不知道為什么解析中間項目(“myProject-utils”)會產生正確的依賴關系,而解析葉子項目(“myProject-myJar”)帶來兩個版本的相同JAR(“lib-subprojA”,版本0.0。 100,0.0.101)。

這是因為中間分辨率結果被緩存了嗎? 如果是這樣,我該如何刪除該緩存?

lib-subprojA // Made change here. Old version: 0.0.100; new: 0.0.101
lib-subprojB
myProject-utils: dependency ... name="lib-subprojA"    rev="0.0.+" conf="compile->compile(*),master(*);runtime->runtime(*)"
  resolves to: lib-subprojA-0.0.101-SNAPSHOT.jar
myProject-myJar: dependency ... name="myProject-utils" rev="0.0.+" conf="compile->compile(*),master(*);runtime->runtime(*)"
  resolves to: lib-subprojA-0.0.100-SNAPSHOT.jar, lib-subprojA-0.0.101-SNAPSHOT.jar

事實證明,在lib-subprojA的一個配置文件中,我們將local.ivy.dir設置為${user.home}/ivy2而不是${user.home}/.ivy2 我花了幾個小時跟蹤一個時期的角色,不比這更大: .

這一切現在按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM