mar*_*tin 5 java dependencies dependency-management maven
我在使用有两个依赖项的项目中遇到问题.一到第三方的lib,它使用Guava 10.0.1,另一个使用Guava 14.0.1.
现在的问题是,10.0.1中有一个方法在14.0.1中被删除,并且在10.0.1之后添加了一个类.
所以我得到NoSuchMethodError或NoClassDefFoundError.
有没有办法解决?
小智 2
您可以在自己的项目中使用较旧的 Guava 版本,或者告诉第三方库使用较新的版本(并祈祷这能起作用)。
您可以使用 Maven 排除标签来确保第三方库不使用它自己的依赖项版本。例子:
<dependencies>
<dependency>
<groupId>third.party</groupId>
<artifactId>lib</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2681 次 |
| 最近记录: |