IntelliJ IDEA用Maven构建时提示Sets类无combinations方法如何解决
解决方案
问题原因
你使用的google-collect 0.5是Guava的早期前身版本,发布于2008年,版本过于老旧,不存在Sets.combinations这个API,这是报错的核心原因。
解决步骤
- 第一步:替换pom.xml中的依赖,删除原有的google-collect依赖,替换为正式的Guava依赖:
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>32.1.3-jre</version> </dependency>
注:如果你的项目使用JDK7及以下版本,可以将Guava版本替换为
29.0-jre,这是最后一个支持JDK7的Guava稳定版本。
- 第二步:刷新Maven依赖,在IntelliJ IDEA中可以点击右侧Maven面板的刷新图标,或者右键项目选择「Maven」→「Reload Project」,确保新的依赖被正确加载。
- 第三步:排查依赖冲突,如果刷新后仍然报错,执行
mvn dependency:tree命令检查项目依赖树,确认是否有其他依赖间接引入了老版本的google-collect或Guava,如果存在可以用exclusion标签排除老旧版本:
<dependency> <groupId>冲突依赖的groupId</groupId> <artifactId>冲突依赖的artifactId</artifactId> <version>对应版本号</version> <exclusions> <exclusion> <groupId>com.google.common</groupId> <artifactId>google-collect</artifactId> </exclusion> </exclusions> </dependency>
- 第四步:重新构建项目,此时
Sets.combinations方法可以被正常识别,报错消失。
内容的提问来源于stack exchange,提问作者Ricardoke
相关产品推荐
相关产品推荐

