我已经在pom.xml guava版本中为我的项目定义了,但在公共模块中,我只想使用guava:com.google.code.findbugs/artifactId:jsr305的子依赖项。如何获得与芭乐中相同的已用jsr305或仅限子依赖项jsr305的版本?
发布于 2019-08-16 20:42:51
我不知道有什么优雅的方法来做这件事(比如动态提取版本等),但是……
如果您只想知道版本(一次),只需查看芭乐的pom.xml即可。使用IntelliJ,您只需按住Ctrl键并单击依赖项即可打开它,我认为与之类似。然后,您可以在dependencyManagement部分中将此版本添加到您的主pom.xml中,并且在您的commons pom.xml中,您可以只使用没有版本的依赖项。
此外,您可以使用maven-enforcer-plugin来确保整个项目没有依赖项冲突。因此,如果在某一时刻出现差异,您将在构建时立即看到它。参见Solving Dependency Conflicts in Maven。但是,jsr305是一个注释库,所以我不希望版本之间有太多不兼容的更改(只要您显式地使用较新的版本)。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<configuration>
<rules><dependencyConvergence/></rules>
</configuration>
</plugin>
</plugins>父编辑:在本例中,jsr305的版本不是在本身中定义的,而是在guava-parent中定义的
https://stackoverflow.com/questions/57524509
复制相似问题