首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IntelliJ的“重新导入所有Maven项目”按钮是如何工作的?

IntelliJ的“重新导入所有Maven项目”按钮是如何工作的?
EN

Stack Overflow用户
提问于 2015-09-09 15:48:45
回答 2查看 20.4K关注 0票数 22

IntelliJ的“重新导入所有Maven项目”按钮是如何工作的?

我之所以这样问是因为我看到IntelliJ的重新导入按钮的行为是不同的,而不是运行带有-U参数的mvn命令的行为,我不清楚为什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-27 14:20:30

我认为您错过了本地和远程存储库的部分。

如果您运行mvn -U,它将迫使maven从远程存储库下载所有库,这些库将是您的公司company或maven repo。与-U的主要区别在于,-U将使用远程快照jars覆盖本地快照jars。本地快照jars来自安装,remote来自部署命令。

再进口会带来混乱。重新导入将加载本地jars,而不是远程jars,特别是快照jars。您可以在maven菜单中启用强制更新快照,这将在intellij中启用-U开关。

还要反复检查您是否与系统maven和intellij共享相同的.m2目录。您可以在用户设置文件中看到这一点,并将其与命令行maven进行比较。只需运行mvn -X并检查设置部分。

代码语言:javascript
运行
复制
[DEBUG] Reading global settings from /usr/local/Cellar/maven/3.3.9/libexec/conf/settings.xml
[DEBUG] Reading user settings from /Users/xbaran/.m2/settings.xml
[DEBUG] Reading global toolchains from /usr/local/Cellar/maven/3.3.9/libexec/conf/toolchains.xml
[DEBUG] Reading user toolchains from /Users/xbaran/.m2/toolchains.xml
[DEBUG] Using local repository at /Users/xbaran/.m2/repository

asker给未来读者的笔记

这个答案并没有完全解释“再导入”按钮的行为,所以我将在这里为后人补充我的观察。

IntelliJ的缓存(即.idea文件夹)似乎有些问题。在终端中使用mvn clean install -U可以像这里描述的那样工作,但不影响IntelliJ IDE;缺少的符号仍然被描述为丢失。但是,如果我按下“魔法重新导入”按钮,那些丢失的符号就会成功地解决。

我只能假设-- reimport按钮--基本上是指示IntelliJ刷新自己的缓存,这就是行为不同的原因。

票数 21
EN

Stack Overflow用户

发布于 2015-09-10 06:49:57

如果您更改了pom.xml文件,IDEA需要更新项目结构。例如,如果您添加了一些更多的依赖项,则IDEA需要将它们添加为项目库。

因此,"Maven > Reimport“正是用于此--用于重新导入maven模块。它不会触发任何带有参数的maven命令。

"Reimport“对项目中的所有maven模块执行相同的操作。

另外,在“设置>构建、执行、部署>构建工具> Maven >导入”中,您可以选择"Import项目自动“,而不是使用这两个操作。这将在更改pom.xml时自动调用“重新导入”操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32484065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档