mik*_*era 9 java dependencies clojure dependency-management maven
我有一个项目X,它在依赖关系层次结构中显示了很多冲突的依赖关系(如Eclipse的依赖关系层次结构视图中所示).我看到很多东西:
clojure: 1.3.0 (omitted for conflict with 1.4.0) [compile]
Run Code Online (Sandbox Code Playgroud)
这通常是因为X使用的两个库指定了某些其他库的两个不同版本 - 即由于共享的传递依赖性而发生冲突.在很多情况下,冲突是在我无法直接控制的第三方库中.
幸运的是,现在一切都建立并运行正常,但我担心这种情况将来可能会引发问题.
这是一个我应该担心的问题,如果是这样,我应该怎么做呢?
是的,这种冲突可能很严重。
在比较版本与另一个版本时,您不知道依赖项中是否存在不兼容的更改(比较次要版本时不应该存在,但谁知道确切?)。或者也许某些依赖项取决于另一个依赖项的错误行为。如果此错误已修复怎么办?那个依赖于错误的模块将无法正确执行。
您应该排除冲突的依赖项(更有可能排除较低版本)。对于您输入的每个排除项,您必须检查排除的版本与当前使用的版本之间是否存在不兼容的更改。如果是这种情况,您必须检查依赖于该模块的依赖项,如果它们受到此类更改的影响。
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |