2

我遇到了一个问题,我有以下两个依赖项:

org.apache.felix » org.apache.felix.utils » 1.6.0

com.github.rotty3000 » phidias » 0.3.2

它们都对 org.osgi.core 有传递依赖,felix 依赖于 4.1.0 版本,而 phidias 依赖于 5.0.0 版本

我们需要 5.0.0 版本才能正确编译代码

如果我将我的依赖项设置为:

<dependencies>
    <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.utils</artifactId>
        <version>1.6.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.github.rotty3000</groupId>
        <artifactId>phidias</artifactId>
        <version>0.3.2</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

maven 自动获取版本 4.1.0 导致编译错误。如果我将 phidias 放在 felix 之上,它会得到 5.0.0 版本并且可以正常编译。

我们想按字母顺序对依赖项进行排序,这样 felix 会排在最前面,是否有强制 osgi.core 解析 5.0.0 版本?

谢谢!

4

1 回答 1

5

<exclude> it from both of those dependency

add org.osgi.core's required dependency at version 5.0.0 in your pom.xml as an explicit dependency with your required version

make sure the two libraries you are consuming are runtime compatible with 5.0.0

于 2015-05-01T00:32:43.223 回答