maven: Cannot access nexus-all xxx in offline mode错误的解决

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

 false

最后,运行起来还是出现一样的错误

2.2 settings.xml不生效的原因
直到后来,学习到了offline mode有关知识,才知道编译命令中的-o是开启offline mode
就算在settings.xml进行了全局配置,-o选项仍然会覆盖这个配置,使得此次编译开启了offline mode
学习知识,还是要全面了解,不然就跟这次一样 
3 正确的解决方法
如果还是想要保留-o选项,则可以在执行前,先获取项目编译所需的依赖

执行如下命令,可以提前获取项目编译所需的依赖

mvn dependency:go-offline

然后,mvn -o 就不会报错了

你可能感兴趣的:(maven,java)