如何解决Guava 27.0.1执行mvn install时的guava-gwt依赖错误
解决Guava 27.0.1-jre构建时guava-tests依赖找不到的问题
我之前在构建Guava这个版本的时候也碰到过一模一样的问题,其实根源很简单:Guava 27.0.1-jre的guava-tests:jar:tests这个带classifier的构件并没有发布到Maven中央仓库,所以当Maven构建guava-gwt模块时,会因为找不到这个依赖而抛出错误。
下面给你几个实用的解决办法:
方法一:先本地构建guava-tests模块
既然远程仓库没有这个构件,我们可以先自己在本地生成它,再继续构建整个项目:
- 进入Guava源码里的
guava-tests目录 - 执行以下命令安装这个模块到本地Maven仓库:
mvn install
- 回到Guava根目录,再次执行
mvn install,这时候guava-gwt就能找到本地生成的guava-tests构件了。
方法二:排除guava-gwt模块构建
如果你不需要使用Guava的GWT相关功能,完全可以直接跳过这个模块的构建,节省时间:
mvn install -pl '!guava-gwt'
这里的-pl参数是用来指定要构建(或排除)的模块,!符号表示排除后面的模块。
方法三:跳过测试相关环节
如果只是想快速完成核心Guava库的构建,可以直接跳过测试的执行和依赖检查:
mvn install -Dmaven.test.skip=true -DskipTests
不过这个方法可能会跳过一些必要的检查,适合只是临时构建使用的场景。
内容的提问来源于stack exchange,提问作者user11281169




