【发布时间】:2015-03-09 14:25:35
【问题描述】:
如果我使用Dropwizard核心,有些项目无法通过ivy解决:
unresolved dependency: org.glassfish.hk2#hk2-utils;2.16: not found
unresolved dependency: org.glassfish.hk2#hk2-locator;2.16: not found
我的常春藤依赖项是:
<dependency org="io.dropwizard" name="dropwizard-core" rev="0.8.0" />
<dependency org="io.dropwizard" name="dropwizard-jersey" rev="0.8.0" />
<dependency org="org.apache.commons" name="commons-lang3" rev="3.3.2"/>
如果我搜索 hk-utils 或 hk2-locator,那么我找不到想要的 2.16 版本...这是 Drowpizard 0.8.0 的错误吗?
有人知道如何解决这个问题吗?谢谢。
编辑 - 试试这个:
<dependency org="io.dropwizard" name="dropwizard-core" rev="0.8.0">
<exclude org="org.glassfish.hk2" module="hk2-utils" />
<exclude org="org.glassfish.hk2" module="hk2-locator" />
</dependency>
<dependency org="org.glassfish.hk2" name="hk2-utils" rev="2.4.0-b09" />
<dependency org="org.glassfish.hk2" name="hk2-locator" rev="2.4.0-b09" />
更新:在 Dropwizard 0.8.1 中相同 更新:似乎在 Dropwizard 0.8.4 中解决了
【问题讨论】:
-
hk2 应该是
2.3.0-b10我对 Ivy 一无所知,但是有了 Maven,dropwizard-jersey将所有这些都拉进来。 -
我不认为这是 ivy 与 maven 的问题 :-)
-
就像我说的我对 Ivy 一无所知,我什至不知道它是否像 Maven 那样管理传递依赖。我只是指出,作为传递依赖,如果构建工具处理传递依赖,那么 HK2 应该被拉入,而不必声明它。
-
设置 transitive="true" 或 false 没有帮助
-
更正我的评论。我正在测试另一个使用 HK2 2.3.0-b10 的 Jersey 项目,但是只使用 dropwizrd-jersey 创建了一个新项目,我看到 HK2 版本是 2.4.0-b09
标签: jersey ivy dropwizard