0
我有一個具有以下依賴關係樹的項目。排除深入嵌套依賴maven for sbt
my:project:jar:1.0
+- commons-configuration:commons-configuration:jar:1.1:compile
| +- commons-collections:commons-collections:jar:3.0:compile
| +- dom4j:dom4j:jar:1.4:compile
| | +- jaxen:jaxen:jar:1.0-FCS:compile
| | | +- maven-plugins:maven-cobertura-plugin:1.3:plugin
行家-cobuertura-pluging提供pom
和jar
,但Jaxen的聲明上plugin
類型的依賴關係。看來這是maven可以接受的,但是我們後期的構建使用sbt作爲構建工具。 SBT抱怨說,它無法解析的依賴性:
::::::::::::::::::::::::::::::::::::::::::::::
:: FAILED DOWNLOADS ::
::^see resolution messages for details^::
::::::::::::::::::::::::::::::::::::::::::::::
maven-plugins#maven-cobertura-plugin;1.3!maven-cobertura-plugin.plugin
我試圖排除在頂層POM的依賴關係:
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<!-- Exclude dependencies that are not needed for building and are misconfigured, causing errors in sbt -->
<exclusions>
<exclusion>
<artifactId>maven-cobertua-plugin</artifactId>
<groupId>maven-plugins</groupId>
</exclusion>
</exclusions>
</dependency>
如果我運行mvn dependency:tree
,cobertura在不再一一列出。但是,sbt
仍然發現依賴並抱怨它。
我刪除了〜/ .ivy/cache/my/project,所以任何對舊的pom的緩存引用都應該沒有了。
我也嘗試過運行sbt update
,但由於缺少依賴關係而無法執行。
應該sbt
觀察maven排除?或者我還需要在build.sbt
中設置排除項目嗎?