IDEA maven加载依赖失败不展示Dependencies项的解决方案

低版本Maven手动新建工程时,可能因pom.xml中dependencyManagement依赖未定义版本号导致依赖丢失,下面给大家介绍IDEA maven加载依赖失败不展示Dependencies项的解决方案,感兴趣的朋友一起看看吧

使用低版本maven时(3.6.3及以下),用IDEA非模板的方式手动新建maven工程,有时候会遇到丢失Dependencies的情况,maven模块仅展示一个Lifecycle项,很多情况下是因为主目录maven pom配置异常导致。

错误示例如下:

    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        3.3.3
    
    com.xxx
    xxx-xxx
    1.0.0
    xxx-xxx-ai
    pom
    XXX
    
        xxx-api
        xxx-xxx
    
    
        21
        21
        21
        UTF-8
        UTF-8
    
    
        
            
                org.springframework.boot
                spring-boot-starter-tomcat
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                2023.0.1
                pom
                import
            
            ……其他配置
    
……其他配置

现象就是,当某个操作或手动操作触发工程reimport时,丢失Dependencies栏,仅展示标红部分(Plugins和Dependencies都缺失)。同时可能伴随很多类提示查找依赖类失败,大量import报红。

网上一堆解决方案,根本不通用,甚至连问题原因都解释不清楚,或者也没有解释如何定位问题引导解决办法。

这里有一个快速提示异常的办法是,升级maven插件,例如使用3.9.11替换低版本的maven 3.6.3,注意使用相同setting和本地库,规避重新下载大量依赖文件。

这时候重新reload工程,控制台就回提示你具体的问题所在。

例如这里就是因为上述主目录pom.xml中,有一个依赖缺乏版本号。

                
         
             org.springframework.boot
             spring-boot-starter-tomcat
         
        ......
      

理论上,由于继承父级依赖中的引用,所以子模块中可以直接引用这个依赖,而不需要还在标签中定义无版本引用,这是报错的根本原因。

在标签中的无标签的dependency,都当加上版本号,或者直接移除这些无版本号定义的,重新reload即可解决问题。如果依旧未出现Dependencies项,可能由于idea的本地.idea配置未及时自动刷新的原因,则考虑替换高版本后,reimport,然后换为低版本maven即可。

究其根本,其实是maven的pom文件配置规范,标签中管理子模块的统一依赖版本,必须明确定义其中的各版本号。

到此这篇关于IDEA maven加载依赖失败不展示Dependencies项的解决方案的文章就介绍到这了,更多相关idea maven加载依赖失败内容请搜索骃骐网以前的文章或继续浏览下面的相关文章希望大家以后多多支持骃骐网!

您可能感兴趣的文章:

  • IDEA Maven Dependencies出现红色波浪线的原因与解决
  • IDEA中Maven Dependencies出现红色波浪线的原因及解决方法
  • 关于Idea卡在Resolving Maven dependencies的解决方案
  • IDEA项目maven project没有出现plugins和Dependencies问题
  • IDEA中的maven没有dependencies解决方案

相关推荐:

如何优化Python代码的字节码加载_通过PYTHONOPTIMIZE环境变量

PYTHONOPTIMIZE是Python启动时控制字节码优化级别的环境变量,值为0/1/2分别对应无优化、移除assert、额外移除docstring,影响__debug__、.pyc路径及内容,需确保字节码缓存与运行时级别严格匹配。 PYTHONOPTIMIZE 环境变量是 Python 启动时控制字节码优化级别的底层开关,它直接决定 __debug__ 的值、是否移除 assert 语句、是...

如何在Python中解决PyTorch自定义C++扩展编译失败_检查ATen库链接

这是典型的ATen符号链接失败,主因是自定义扩展未正确传递编译/链接标志:需在setup.py中显式包含include_paths()和library_paths(),确保链接-ltorch_cpu -ltorch -lc10(顺序不可颠倒),并根据torch.__config__.show()结果在C++源码顶部定义对应ATEN_CPU_CAPABILITY宏;同时统一C++标准为c++17、启...

Python离线环境怎么配置_内网服务器Python离线安装依赖

离线安装Python包的核心是用pip download提前下载带完整标签的wheel或sdist,再通过pip install -f --no-index安装;需严格匹配平台、Python版本及ABI标签,git依赖须手动转为本地sdist,运行时缺失系统库或环境不一致亦会导致import失败。 pip install 怎么不联网也能装包 离线装依赖的核心是把包和它的所有依赖提前下载好,再复制到...

如何在 Django Allauth 登录失败时返回 HTTP 401 状态码

当用户使用无效凭据登录 django allauth 应用时,默认返回 200(含错误提示),本文介绍一种轻量、可靠的方式——通过自定义中间件,在 post 登录请求未认证成功时统一将响应状态码设为 401。 当用户使用无效凭据登录 django allauth 应用时,默认返回 200(含错误提示),本文介绍一种轻量、可靠的方式——通过自定义中间件,在 post 登录请求未认证成功时统一将响应状...

如何加速Python读取Parquet文件的性能_使用PyArrow后端加载

PyArrow直接读Parquet比pandas快,因绕过DataFrame转换、可指定列/过滤/禁用类型推断、复用内存池、优化文件布局及合理并行;关键在读写协同调优。 PyArrow读取Parquet时为什么比pandas慢? 默认用 pandas.read_parquet() 且后端是 pyarrow,其实底层调的仍是 pyarrow.parquet.read_table(),但多了一层Dat...

GDAL NetCDF CF-1.0 坐标识别失败的根源与解决方案

GDAL(v3.8+)在读取符合CF-1.0规范的NetCDF地理坐标时,可能因x/y坐标变量使用float32(f4)精度不足而误判为非规则网格,导致gdalinfo显示原点坐标(0,0)而非真实投影坐标;升级为float64(f8)或显式添加GeoTransform+spatial_ref属性可彻底解决。 gdal(v3.8+)在读取符合cf-1.0规范的netcdf地理坐标时,可能因`x`/...

为什么Python项目要区分开发环境与生产环境依赖_使用dev-requirements

不能直接用于生产环境,因requirements.txt常混入pytest等开发工具且含未声明的间接依赖,易致镜像膨胀、攻击面扩大及静默兼容问题。 pip install -r requirements.txt 为什么不能直接用在生产环境 因为 requirements.txt 很可能混入了开发专用工具,比如 pytest、black、mypy,这些包既不参与运行时逻辑,又会增大镜像体积、引入额外...

如何优化Flask应用的启动速度_利用Python的惰性加载与蓝图机制

Flask应用启动慢的根源在于顶层import重型模块及蓝图中过早初始化。应将pandas、torch等延迟至函数内导入,蓝图只声明路由,初始化逻辑封装为按需调用的函数,并禁用非必要扩展。 为什么Flask应用启动慢?先看真实瓶颈 启动慢不是因为Flask本身重,而是你把 pandas、torch、large_ml_model 这类重型模块全塞进了 app.py 顶层 import —— 它们在应...