关于作者:

        我是星河,愿我们既能凝望脚下的路,也能心怀璀璨的远方。一个深耕自己,不内耗的长期主义者。一个对技术充满激情,对工作对生活充满热情的热血青年。坚持用更通俗易懂的大白话写技术博文。坚信,真正能让大家看懂的技术文章才是好文章,坚持用通俗易懂的大白话写技术文章,并会持续更新。

问题现象:

今天来讲一下maven项目的pom文件里根标签project标签上直接报红、报错 的问题解决

有同学在创建maven的项目可能会遇到以下的错误,就是pom文件的根标签project标签上直接报红

如下图

各种问题有排查了,好像都没问题。

解决方案:

最后排查到,出现这这种pom.xml 文件 根标签project标签上直接报红的问题,基本由以下两种情况导致:

1、maven仓库地址的文件夹名非法

第一种情况就是maven仓库地址的文件夹名字非法,导致的

最后查来插查去,发现这个同学idea里配置的maven有点问题

他iade里配置的maven仓库地址的文件夹名字有点不对,文件夹名字里带了一个 . 点儿,然后应该是maven一直识别不了,所以pom文件就直接报红了。

最后,把文件夹名字里的点儿去掉后,再刷新maven就好了。

所以,对idea里的maven进行配置的时候,千万不要使用中文、空格、点儿,这些特殊的目录,不然会有莫名其妙的问题,如果不知道是这个问题导致的,那检查起来会非常头疼的

2、maven版本低,但jdk版本高

第二种情况就是maven版本低但jdk版本高,导致的

大概是原因是:虽然,Maven 3.9.x 系列运行JDK的版本是JDK8到JDK 21都可以,但是Maven 3.9.4 发布时 JDK 21 还未正式 GA(正式发布版),所以部分 Maven 插件可能存在兼容性问题,会不识别,报错。

就比如你maven使用的版本是 3.9.4,但是你jdk使用的21

你idea里的maven插件就有可能出现maven一直不识别的问题。

这种情况改一下maven或者jdk的版本就行了

如果你maven使用的版本是 3.9.4,JDK可以切换成17,注意这里切换最好是idea里的jdk和电脑环境变量里的jdk版本都一起切换成jdk17

或者你需要使用JDK21的话,那就把maven的版本升级成3.9.9,也可以。

反正就是让它们的版本能对应上就行了。

        纯手敲 原创不易,如果这篇文章对你有所启发或帮助,希望可以花费你一秒钟的时间,点亮【赞和推荐】,如果能点【分享】给更多同行的人,那就更好了。你的每一个互动,都是我持续创作的最大动力。感恩遇见,感谢陪伴。

往日精选

分文件夹去存文件,其实就是哈希存储的思想

哈希冲突不可避免吗?哈希思想太重要了

聊明白:同步刷盘、异步刷盘以及MQ刷盘策略

对象在内存中的分配、布局、访问、GC垃圾回收

ThreadLocal:原理、内存泄漏、源码分析

大白话聊明白多线程的基础,Java线程的状态和转换

大白话聊聊常见的IO模型:BIO、NIO和IO多路复用

大白话聊懂IO的零拷贝技术

大白话搞懂Java中Synchronized的逻辑

大白话聊一聊,数据结构的基石:数组和链表

大白话聊一聊,常用的哈希算法

对接第三方支付常用到的 对称加密和非对称加密

大白话聊明白Thread、Runnable、FutureTask和Callable之间的关系

每秒百万ID不重复!SnowFlake雪花算法的原理揭秘

用通俗易懂的大白话彻底搞明白SQL中的group by

大白话让你彻底搞明白Java里的Lambda表达式

一篇搞懂ASM、字节码和动态代理,到底咋回事?

为什么Spring不用静态代理?静态代理的三大硬伤!

大白话搞懂Java反射的黑魔法!为啥框架都爱用它?

MySQL索引长度限制和索引长度到底怎么计算

JDK的Proxy vs CGLIB两种动态代理的武林秘籍

Spring注册Bean别只用@Component了 @Import才是秘密武器


关于作者:

      一个深耕自己,不内耗的长期主义者。一个对技术充满激情,对工作对生活充满热情的热血青年。坚持用通俗易懂的大白话写技术博文,杜绝复制来复制去没营养的内容,坚持用大白话分享自己总结的Java知识,并会持续更新。

点击下方 微信公众号,获取更多Java干货

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐