新项目 + 切换分支 + 别人提交代码 导致IDEA爆红

# 这条命令可以解决
mvn clean install -Dmaven.test.skip=true -U

为啥Maven install 可以解决爆红,而package无法解决

maven install 可以更新本地的maven私服依赖。

package只是打包到本地,不会更新maven本地仓库的包!

先说下idea的工作流程:通过pom.xml找到本地私服中包依赖,(如果本地仓库没有,先从远程拉取到本地仓库)。然后你代码中的 import 去与实际依赖包去对比。如果不一致,就会爆红。

你们项目有个a包。某人提交一份a包的代码。你可能爆红的原因:你本地仓库的a包没有新提交代码的部分。所以你本地爆红,解决办法,是利用你本地最新的代码,install到本地私服。这样本地maven仓库也是最新的,爆红就解决了。

强制私用本地仓库

Maven的setting.xml配置了,在构建项目的时候,有些时候还是会去远程仓库获取,这样非常影响打包速度。在Maven打包时,您可以通过使用Maven的"offline"参数来强制使用本地仓库内容。这将告诉Maven在构建过程中不要尝试从远程仓库下载依赖,而是仅使用本地仓库中已经存在的依赖。

-o 等价于 --offline 是强制使用本地仓库!

mvn clean install -Dmaven.test.skip=true -o

指定配置文件 -s

mvn clean install -Dmaven.test.skip=true -o -s settings-use-local-repository.xml

指定本地仓库 -Dmaven.repo.local

命令版

-Dmaven.repo.local=/path/to/custom/local/repo

配置版

配置setting.xml下的<settings> 标签内添加!

<localRepository>/path/to/your/local/repository</localRepository>

绕错test包下内容

  • 使用 -DskipTests:会编译测试代码,但不执行测试。
  • 使用 -Dmaven.test.skip=true:完全跳过测试的编译和执行。

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤

免责声明:
本站文章旨在总结学习互联网技术过程中的经验与见解。任何人不得将其用于违法或违规活动!所有违规内容均由个人自行承担,与作者无关。