idea 与 maven 使用过程中遇到的问题及解决方案

目录
  • 1. maven项目导入idea报ComponentLookupException异常
    • 1.1. 问题描述
    • 1.2.解决方案
  • 2. IDEA无法加载maven本地仓库的文件
    • 2.1.问题描述
    • 2.2.解决方案
  • 3.删除maven下载失败的jar包
    • 3.1. 问题描述
    • 3.2.解决方案
  • 4. 删除_maven.repositories文件
    • 4.1.问题描述
    • 4.2.解决方案

1. maven项目导入idea报ComponentLookupException异常

1.1. 问题描述

最近将IDEA 升级到 IntelliJ IDEA 2021.3.2,在将maven项目导入IDEA后,maven build时报如下异常:

org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) Error injecting constructor, java.lang.NoSuchMethodError: org.apache.maven.model.validation.DefaultModelValidator: method <init>()V not found
  at org.jetbrains.idea.maven.server.embedder.CustomModelValidator.<init>(Unknown Source)
  while locating org.jetbrains.idea.maven.server.embedder.CustomModelValidator
  at ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
  while locating org.apache.maven.model.validation.ModelValidator annotated with @com.google.inject.name.Named(value=ide)
1 error
      role: org.apache.maven.model.validation.ModelValidator
  roleHint: ide

1.2.解决方案

这个问题是IntelliJ IDEA 2021.3.2 不兼容导致的。 我使用的Maven版本是3.8.3, 将Maven版本降至3.8.1 或 使用IDEA Bundled(Maven3)即可解决。

Maven 3.x 下载地址

2. IDEA无法加载maven本地仓库的文件

2.1.问题描述

如果公司 Nexus私服 里面没有对应的依赖jar包,但本地仓库有_remote.repositories文件,
这种情况下IDEA无法加载本地的jar包,导致MAVEN依赖变成红色

_remote.repositories 内容类似如下:

2.2.解决方案

查找并删除所有_remote.repositories文件 clear_remote.repositories.bat

set REPOSITORY_PATH=D:\maven\repository
echo is finding all _remote.repositories file ...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*_remote.repositories*"') do (
    del /s /q %%i
)
echo delete all _remote.repositories has finished
pause

3.删除maven下载失败的jar包

3.1. 问题描述

maven针对更新失败的依赖,在对应的文件夹中都生成了lastUpdated后缀结尾的文件,这些文件有时会导致IDEA不能正常加载这些本地依赖。

3.2.解决方案

查找并删除所有包含lastUpdated的文件 clear_lastUpdated.bat

set REPOSITORY_PATH=D:\maven\repository
echo is finding all lastUpdated file ...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
    del /s /q %%i
)
echo delete all lastUpdated has finished
pause

4. 删除_maven.repositories文件

4.1.问题描述

Maven tries to update your jar from the old location (as saved in _maven.repositories) and fails. The presumtion here is that the same aftifact on a different remote repository might be different.

Maven试图从旧位置(保存在_maven.repositories中)更新jar,但失败了。这里的假设是,相同的aftifact 在不同的远程存储库上可能是不同的。

有时此文件会导致jar更新或加载失败

4.2.解决方案

查找并删除所有包含_maven.repositories的文件 clear_maven.repositories.bat

set REPOSITORY_PATH=D:\maven\repository
echo is finding all _maven.repositories file ...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*_maven.repositories*"') do (
    del /s /q %%i
)
echo delete all _maven.repositories has finished
pause

到此这篇关于idea 与 maven 使用过程中遇到的坑的文章就介绍到这了,更多相关idea maven使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • maven多moudle项目在idea里面显示多个root问题及解决

    目录 maven多moudle在idea里显示多个root maven的root问题 maven多moudle在idea里显示多个root 如下图: 有时候不想显示root,只想有一个root那就在父moudle里面的pom文件里面的moudles里面添加上该moudle就行了: maven的root问题 在创建maven项目的时候,如果存在子模块在最高级的父模块下面会有一个如下图的root module级联图: 点击idea右侧的maven标签显示encache(root) 最高级父项目的ro

  • 关于idea中出现nbsp和zwsp的完美解决办法

    关于idea中出现nbsp和zwsp的解决办法 首先要吐槽掘金这个平台,我复制粘贴自己的代码到idea上,满屏都是nbsp,CSDN就不会出现这种现象. Ctrl+r 单个替换 Ctrl+shift+r 全部替换 先选中nbsp,全部替换(Ctrl+shift+r),再点击replace al即可. 补充:IDEA 出现 [NBSP] 解决方法 现象 IDEA 版本 本人使用的2021.2: 但是 2020.2 以后的版本好像都可以使用这个方法 在页面中出现 [NBSP],也可能是只有几个页面,

  • 解决IDEA 2022 Translation 翻译文档失败: 未知错误的问题

    File | Settings | Tools | Translation jetbrains://idea/settings?name=Tools–Translation 关闭代理,如果代理没过期,可以忽略这一步 2. 恢复默认字体 . 修改Hots文件:还是无效![修改C:\Windows\System32\drivers\etc 下hosts文件, 添加 203.208.40.66 translate.google.com 203.208.40.66 translate.googleapi

  • IDEA创建Maven项目一直显示正在加载的问题及解决

    目录 IDEA创建Maven项目一直显示正在加载问题 前景概要 出现的怪问题 解决方案 第二种解决方案 出现原因 解决方案 IDEA创建Maven项目一直显示正在加载问题 前景概要 创建项目 idea一直在解析maven工程 刚创建的项目,就下面这张图一直解析都没有解析成功 出现的怪问题 如果你一直等待解析的话,有可能解析成功,但是明明创建在service下的子工程,在maven列表中你会看见这个工程是root父工程,并且父工程的依赖也不会传递过来这就导致必须解决 但是在你的service父工程

  • idea 与 maven 使用过程中遇到的问题及解决方案

    目录 1. maven项目导入idea报ComponentLookupException异常 1.1. 问题描述 1.2.解决方案 2. IDEA无法加载maven本地仓库的文件 2.1.问题描述 2.2.解决方案 3.删除maven下载失败的jar包 3.1. 问题描述 3.2.解决方案 4. 删除_maven.repositories文件 4.1.问题描述 4.2.解决方案 1. maven项目导入idea报ComponentLookupException异常 1.1. 问题描述 最近将ID

  • 关于maven使用过程中无法导入依赖的一些总结

    目录 maven使用过程中无法导入依赖的一些总结 maven不自动导入依赖问题 解决办法 maven使用过程中无法导入依赖的一些总结 作为一名java开发的新手,在学习中难免遇见各种问题,在此总结一下. 在使用maven过程中总是碰见某些依赖导不进去的问题,本人使用的是idea2017.maven3.2版本,通过网上搜索和自己的经验归纳为一下几点: 1.settings.xml文件中远程仓库地址的设置 在maven仓库的配置文件中,一般设置远程仓库地址为阿里云的私服,国外的网站也可以就是比较慢,

  • SQL Server成功与服务器建立连接但是在登录过程中发生错误的快速解决方案

    最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS下运行的时候,IIS crash.之前的连接是没问题的,后网上找了资料,根据牛人所说的方案解决了. 1. Exception message 已成功与服务器建立连接,但是在登录过程中发生错误. (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确.) ---> System.ComponentModel.Win32Except

  • python使用ddt过程中遇到的问题及解决方案【推荐】

    前言: 在使用DDT数据驱动+HTMLTestRunner输出测试报告时遇到过2个问题: 1.生成的测试报告中,用例名称后有dict() -> new empty dictionary 2.使用ddt生成的用例名称无法更改 1.用例名称后有dict() -> new empty dictionary 报告中用例名称后有dict() -> new empty dictionary,如图所示: 解决方案:这是ddt高版本1.2.0的bug 1.cmd先通过pip uninstall ddt

  • 总结Nginx 的使用过程中遇到的问题及解决方案

    在启动 Nginx 的时候,有时候会遇到这样的一个错误: 复制代码 代码如下: [emerg]: could not build the proxy_headers_hash, you should increase either proxy_headers_hash_max_size: 512 or proxy_headers_hash_bucket_size: 64 解决办法就是在配置文件中新增以下配置项: 复制代码 代码如下: proxy_headers_hash_max_size 512

  • Linux部署Tomcat发布项目过程中各种问题及解决方法

    部署项目到项目现场测试环境 JDK1.8 Tomcat8.5 Maven打包好的war Linux-----Centos 不知道谁给现场的Tomcat,将其上传到Linux平台******目录,并且进行解压.直接启动 图1: 问题1 因为是第一次启动Tocmat,没有日志文件.所以直接启动 ./startup.sh.后续可以使用以下命令动态的查看日志信息.执行后提示没有执行权限 ./startup.sh & tailf ../logs/catalina.out 问题分析: .sh可执行文件 当前

  • Maven安装过程图文详解

    Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK. maven作用 其中maven的主要作用有: 项目管理:编译.测试.打包.部署.运行,这一套流程都可以用maven来管理. 管理jar包:也就是上述提到的问题. 管理插件:开发过程中会需要使用各种插件. 下载地址:http://maven.apache.org/download.cgi 下载后解压到自己想安装的目录 配置环境变量: MAVEN_HOME : D:\ProgramFiles\apache-maven-

  • 解决idea使用过程中让你觉得不爽的一些问题(小结)

    每次导入一个新的 Project 项目的时候已经配置好的 maven 被还原为默认状态 如果 idea 的版本比较老的话看到的是这样的 然后再修改 Maven 配置就可以了 2.在创建或者导入 Maven 项目后,编写代码的时候总是提示不支持 Java8,编译也无法通过 我们查看 settings -> java compiler 发现编译版本是 1.8 之前的版本 解决方案:在 pom.xml 中加入 JDK 版本 <properties> <java.version>1.

  • SpringMail使用过程中的报错解决办法

    SpringMail使用过程中的报错解决办法 1.Unable to locate provider for protocol: smtp –>缺少依赖造成的 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> <dependency

  • 浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑

    前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验.最近看了看 QQ 互联上 QQ 登录的接口文档.接入 QQ 登录的一般流程呢,是这样的:先申请开发者 -> 然后创建应用(拿到一组 AppId 和 AppKey)-> 获取 access_token -> 获取 openid -> 调用 openApi 访问或修改用户信息. 然而,从申请个人开发者开始,坑就来了. 1. 申请(个人)开发者 QQ 互联中申请开发者信息的页面,一些重点太过简陋,缺失细节,比如身份证正

随机推荐