首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除maven for sbt中的深度嵌套依赖项

排除maven for sbt中的深度嵌套依赖项
EN

Stack Overflow用户
提问于 2016-06-23 00:05:02
回答 1查看 1K关注 0票数 0

我有一个具有以下依赖关系树的项目。

代码语言:javascript
复制
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

maven-cobuertura-jar提供了一个pom和一个jar,但是jaxen声明了一个plugin类型的依赖项。这似乎是maven可以接受的,但是我们构建的后面部分使用sbt作为它的构建工具。Sbt抱怨它无法解决依赖关系:

代码语言:javascript
复制
::::::::::::::::::::::::::::::::::::::::::::::
::              FAILED DOWNLOADS            ::
:: ^ see resolution messages for details  ^ ::
::::::::::::::::::::::::::::::::::::::::::::::
maven-plugins#maven-cobertura-plugin;1.3!maven-cobertura-plugin.plugin

我尝试排除顶级pom中的依赖关系:

代码语言:javascript
复制
<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中设置排除项吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-22 20:35:07

升级到sbt 0.13.11可能会有所帮助。请参阅https://github.com/sbt/sbt/issues/2109

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37973185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档