1. 絮絮叨叨
-
之前,同事告诉过一个加速编译的mvn命令
mvn -o -T 4C clean install -DskipTests -Dmaven.compile.fork=true
-
忽然,上周在公司的蛇口编译机器,执行这个命令就行不通了
-
错误信息,由于编以输出太多被淹没了,只能网上抄一个类似的
Cannot access aliyun-maven (...) in offline mode and the ... has not been downloaded from it before
-
报错信息的重点:在in offline mode下无法访问本地配置的阿里maven库
2. 错误的解决办法
2.1 更新settings.xml
-
网上搜索以后,发现都是讲Intellij IDEA下,如何解决这个问题的:解决在IDEA14 的Maven下 出现 Cannot access in offline mode 问题
-
而自己是mvn命令,那就照葫芦画瓢,要不去某个地方关闭offline mode
-
最终,了解到可以修改settings.xml文件,添加以下内容以关闭offline mode
<offline>false</offline>
-
最后,运行起来还是出现一样的错误
2.2 settings.xml不生效的原因
- 直到后来,学习到了offline mode有关知识,才知道编译命令中的
-o
是开启offline mode - 就算在settings.xml进行了全局配置,
-o
选项仍然会覆盖这个配置,使得此次编译开启了offline mode - 学习知识,还是要全面了解,不然就跟这次一样 😂
3 正确的解决方法
-
如果还是想要保留
-o
选项,则可以在执行前,先获取项目编译所需的依赖 -
执行如下命令,可以提前获取项目编译所需的依赖
mvn dependency:go-offline
-
然后,
mvn -o
就不会报错了