是否有离线模式的maven命令行选项?

时间:2012-01-13 13:38:01

标签: java maven

您可以在maven settings文件中指定要在脱机模式下运行,但是是否有等效的命令行选项?

我会想象像是这样的东西。

mvn install -Dmaven.offline.true

5 个答案:

答案 0 :(得分:143)

通过-o / --offline指定离线模式:

mvn -o install

Maven book reference

答案 1 :(得分:19)

只是一个简单的:

mvn --offline

将来,我建议您参考mvn --help

答案 2 :(得分:18)

使用mvn -o调用Maven的离线模式。

但是,仅此一项可能还不够,因为有时当前项目会引用尚未出现在Maven本地存储库缓存(~/.m2/repository)中的工件。尝试在脱机模式下构建该项目将失败,因为缺少必需的依赖项并且无法下载。

所以还有另一个有用的目标:

mvn dependency:go-offline

这是一个很好的命令,可以在飞机上跳跃之前运行,这将提高你BUILD SUCCESS的机会。有关详细信息,请参阅go-offline documentation

答案 3 :(得分:3)

尝试-o,甚至--help来获取所有选项的帮助

答案 4 :(得分:2)

mvn -o在大多数情况下都可以使用,但是在某些情况下还不够用,因为从Maven 3中,从远程/中央存储库下载的工件会在本地存储库中创建一个_remote.repositories文件,并提供有关以下内容的参考:下载依赖项的位置。
如果以后在构建期间无权访问此远程存储库,则可能会导致一些问题。
一种可行的解决方法是使用mvn -o -llr yourGoal

来自帮助文档:

 -llr,--legacy-local-repository         Use Maven 2 Legacy Local
                                        Repository behaviour, ie no use of
                                        _remote.repositories. Can also be
                                        activated by using
                                        -Dmaven.legacyLocalRepo=true

 -o,--offline                           Work offline

以离线方式执行mvn的另一种方法是删除存储在下载依赖项目录中的_remote.repositories元数据。