Intellij IDEA Maven dependency自动补全和Maven Artifact Search为空问题

IDEA 使用Maven开发过程中遇到两种问题:

1、 IDEA上使用maven插件,在pom.xml编写项目依赖的jar包时,已经下载到本地的jar,无法自动补全,需要手动书写。

2、代码编写过程中,写新的类但是没有在pom.xml中添加依赖,可以ALT+Enter组合件选择 Add Maven Dependency (添加maven依赖)



发现搜索的结果总是为空 (No results)


有两种方案:一种是曲线救国直接从中央库搜索复制对应配置;还有一种方式是通过更新中央库索引。


第一种方案:

这也有一个曲线救国的方案直接在  maven仓库中搜索:https://mvnrepository.com 并复制对应的依赖配置。





直接复制就可以在pom.xml里面粘贴

第二种方案:

在settings ->Build ->Build Tools-->Maven -->Repositories 


没有更新过的Updated对应的值为Never

点击右侧的Update按钮



等待更新完成(时间较长,需要耐心等待,也可以使用代理),完成后会Processing indices(处理索引)


然后更新本地仓库


等更新以后,核对一下是否更新成功


这里应该有对应的更新日期,如果这一行显示的是粉红色,可以看到对应的原因,如:


那么需要在setting.xml中或者IDEA中设置代理

Maven依赖就可以自动提示补全了


如果还没有添加依赖也可以使用IDEA来搜索和添加maven依赖了。




  • 21
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
### 回答1: 如果你在使用 IntelliJ IDEA 编辑器,当你在 Maven 项目中引入了依赖项后,如果该依赖项在其他包中也存在,则可能会导致包冲突,从而导致其他包飘红。 解决这个问题的一种方法是使用 Maven Dependency Plugin 来排除冲突的依赖项。你可以在 pom.xml 文件中添加以下代码: ``` <dependency> <groupId>com.example</groupId> <artifactId>example-artifact</artifactId> <version>1.0</version> <exclusions> <exclusion> <groupId>org.conflicting.group</groupId> <artifactId>conflicting-artifact</artifactId> </exclusion> </exclusions> </dependency> ``` 其中,`exclusions` 标签用于排除冲突的依赖项。在 `<exclusion>` 元素中,你需要指定要排除的依赖项的 `groupId` 和 `artifactId`。 如果你已经添加了排除冲突的依赖项,但是其他包仍然飘红,则可能是因为 IntelliJ IDEA 还没有更新 Maven 依赖项。你可以尝试使用 `Reimport All Maven Projects` 或者 `Reload All Maven Projects` 来更新依赖项。 ### 回答2: 在使用Idea Maven时,当我们引用了其他包,但是这些包在我们的项目中未能正确导入时,它们会在代码编辑器中被标记为红色。这种情况通常出现在以下几种情况下: 1. 依赖未正确声明或配置:我们在pom.xml文件中声明了某个包的依赖,但是Maven却无法正确解析或下载这个包。这可能是由于网络连接问题、仓库配置错误或依赖版本问题导致的。我们可以尝试重新下载或更新依赖,确保Maven能够正确识别和导入这些包。 2. 依赖冲突:当我们的项目中同时引入了多个版本不同的相同包时,Maven可能会出现依赖冲突。这时,它可能无法确定应该使用哪个版本的包,从而导致代码中的包变为红色。解决这个问题的方法是在pom.xml文件中明确指定所需包的版本,或者使用Maven的依赖排除功能排除不需要的包。 3. 配置错误:如果我们的IDE或Maven配置存在问题,例如环境变量设置不正确或IDE未正确与Maven集成,也可能导致包被标记为红色。我们可以检查IDE和Maven的配置设置,确保它们正常运行。 总之,当我们在使用Idea Maven时遇到包被红色标记时,我们应该首先检查项目的依赖配置是否正确,以及是否存在冲突或其他配置问题。 ### 回答3: 当使用Idea开发工具,我们经常会遇到代码中某些引用的包或类名变为红色的情况,这是因为引用的包或类无法在当前的环境中找到或无法正确导入。Maven是一种Java项目管理工具,可以自动帮助我们管理项目的依赖关系、构建和发布等过程。那么当使用IdeaMaven一起进行开发时,出现包飘红的情况可能有以下几种原因: 1. 依赖没有正确导入:Maven项目通常在pom.xml文件中定义项目所需的依赖项。如果没有正确地在pom.xml文件中定义所需的依赖,或者依赖的版本与项目所需的版本不匹配,就会导致包飘红的情况。 2. Maven仓库未配置正确:Maven默认会从中央仓库下载所需的依赖包。如果Maven的配置文件(settings.xml)中没有正确配置仓库地址或者网络连接不通畅,就会导致包无法下载而飘红。 3. Maven依赖冲突:Maven尝试解决依赖冲突,但有时会出现多个不同版本的同一依赖,这可能会导致包飘红的情况。此时需要手动解决依赖冲突,可以通过配置排除具体的依赖或使用较新版本的依赖来解决。 解决这些问题的方法: 1. 检查pom.xml文件中的依赖定义,确保所有必需的依赖项都已正确导入,并与项目所需的版本匹配。 2. 检查Maven的配置文件(settings.xml)中的仓库地址,确保配置正确,并检查网络连接是否正常。 3. 使用Idea提供的"Maven Projects"工具栏,手动刷新依赖并更新项目。 4. 若出现依赖冲突,可以通过调整pom.xml文件中的依赖声明顺序、排除特定的依赖或者使用更高版本的依赖来解决。 总之,当使用IdeaMaven进行开发时,包飘红的情况通常是由于引用的包或类无法找到或无法正确导入的原因。通过检查依赖的正确性,配置Maven仓库以及解决依赖冲突,可以解决这些问题
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明明如月学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值