Maven依赖性图书馆开发人员最佳实践

时间:2016-04-25 16:58:08

标签: java maven

我正在开发一个用于与外部服务交互的库。这个外部服务有自己的库,但我希望我的库的用户选择在编译/运行时使用的特定版本。

确保在开发库时没有版本冲突的最佳做法是什么?我应该在我的POM中指定外部服务库的最低版本,然后如果客户端指定更高版本,它将被使用,因为它最近的"?

例如,我的库的POM可能如下所示:

<dependency>
    <groupId>org.external-library</groupId>
    <artifactId>external-library</artifactId>
    <version>${minimum-supported-version}</version>
</dependency>

然后客户可以这样做:

<dependency>
    <groupId>org.my-library</groupId>
    <artifactId>my-library</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <groupId>org.external-library</groupId>
    <artifactId>external-library</artifactId>
    <version>${latest-supported-version}</version>
</dependency>

0 个答案:

没有答案