【发布时间】:2017-11-29 19:07:42
【问题描述】:
我目前正在开发一个程序,该程序被另一个程序作为插件接收。父程序(接受插件的程序)有它自己的依赖项,在我的例子中,关注的是番石榴。父级的版本是21.0,而我创建的插件有一个需要20.0版本的依赖,并且似乎与较新的版本不配合,无论插件的pom中放入什么版本,它仍然好像用的是21的父版本。
Tl;dr:当父程序使用更高版本时,Maven 有什么方法可以使用较低版本(在我的情况下为 20.0)的依赖项? (这是否可能,因为插件可能会通过反射接收,因此将始终使用父依赖项?插件是在包含依赖项的情况下构建的。)
【问题讨论】:
-
你不能同时使用同一个类的两个版本,除非它们在不同的包中。为了依赖库,您可能能够将该特定类/包的旧版本提取到您自己的项目中,但您自己的代码也将使用它。