【异常收集】IDEA启动项目遇到的异常汇总,包括插件异常,版本依赖异常,启动异常等以及对应的解决办法

本文记录了开发过程中遇到的四个技术问题:Kotlin编译版本冲突、IDEA导入项目注解错误、启动类丢失和本地Redis连接问题。作者提供了详细的解决步骤,包括重建项目、清理缓存、调整Maven设置和Redis配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 该文章旨在记录开发中遇到的一些异常,以供遇到似错误进行参考修改

目录

 该文章旨在记录开发中遇到的一些异常,以供遇到似错误进行参考修改

一、项目在多个环境下切换,有一次启动后编译失败,报异常

二、用新的IDEA导入项目文件,maven刷新后注解还是爆红

三、紧接第二个问题,清除缓存后注解爆红解决了,运行项目报错找不到启动类

四、本地调试Redis时,出现一直连不上服务器的情况,但是用管理工具可以连接

五、SpringBoot 项目引入 Jackson 依赖后,项目启动失败,信息如下

六、项目一直正常启动,有一次开始报找不到 get 方法异常

​七、项目 Debug 启动时报错,非法指令

八、Integer 超出上限后变负数

九、swagger 检测不到 @ApiModelProperty 标注的字段

十、导入的maven项目 IDEA 自动检测不到

一、项目在多个环境下切换,有一次启动后编译失败,报异常

        背景:项目在不同环境下有对应的分支,切换分支后运行项目,报错如下

错误:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.1.16.

       

        解决:点击“构建”>>“重建项目”,重建完成后,再次启动项目即可 

二、用新的IDEA导入项目文件,maven刷新后注解还是爆红

        背景:一直用的IDEA版本太低了,一些插件不兼容,安装了高版本然后导入项目,自动检测到maven之后,刷新,下载依赖,发现所有注解都爆红,maven clean,install 没有用

         解决:清除缓存并重启,解决问题

三、紧接第二个问题,清除缓存后注解爆红解决了,运行项目报错找不到启动类

错误: 找不到或无法加载主类 com.xxx.xxx.xxxApplication

        解决:项目右侧maven ,找到生命周期,重新执行 clean ->install ,完成后重试,问题解决 

四、本地调试Redis时,出现一直连不上服务器的情况,但是用管理工具可以连接

        背景:本地的Redis安装后,通过server.exe,cli.exe连接没有问题,Springboot项目引入依赖后测试,连接redis错误

        出现如下错误

org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis;

nested exception is org.springframework.data.redis.connection.PoolException: Could not get a resource from the pool;

nested exception isio.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379

        按照网上方案调试了好久,问题依然没有解决,偶然间看了下第一个错误提示后面的提示,好像是现在的配置是不需要密码的,但是我在配置文件里面加了密码(图中是改后的),再去看看redis.conf配置文件中果然没有要求密码

Caused by: io.lettuce.core.RedisCommandExecutionException: ERR Client sent AUTH, but no password is set 

        解决方案:去掉.properties文件中密码配置 ,重启redis服务即可

五、SpringBoot 项目引入 Jackson 依赖后,项目启动失败,信息如下

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'formContentFilter' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.class]:

        背景:引入多个Jackson 依赖的时候,项目启动失败

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
<!--            <version>2.9.8</version>-->
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
<!--            <version>2.9.8</version>-->
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
<!--            <version>2.9.8</version>-->
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
<!--            <version>2.13.0</version> &lt;!&ndash; 替换为与你的Spring Boot兼容的版本 &ndash;&gt;-->
        </dependency>

         解决:网上找了相关文章,很少有错误解读,具体的处理方式就是引入的依赖去除版本号,使用父依赖中指定的即可,问题解决

六、项目一直正常启动,有一次开始报找不到 get 方法异常

:java找不到符号 符号: 方法 getValue() 

        背景:项目平时一直正常运行,偶然一次不知道改动了什么启动失败,提示找不到 get方法,项目构建失败

        解决方案:在网上找了很多同类型的异常,大致原因可能是 lombok 的版本问题,本地选择使用命令的方式解决;具体的命令以及使用方式如下:打开settings设置 ...

-Djps.track.ap.dependencies=false

七、项目 Debug 启动时报错,非法指令

        报错内容如下:

=============== DEBUG MESSAGE: unimplemented bytecode ================ # # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x00000001046ab52c, pid=30582, tid=0x0000000000005a03 # # JRE version: Java(TM) SE Runtime Environment (8.0_391) (build 1.8.0_391-b13) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.391-b13 mixed mode bsd-aarch64 compressed oops)

        背景:别的模块的项目正常启动调试,唯独该项目启动遇到该异常,并且项目调试启动时运行非常慢,最后会爆出该异常并且生成日志文件 

        解决方案:头次遇到这种问题,很头疼,因为不是代码的原因,只有一个底层指令的日志文件可供参考,在网上搜寻也有很多这种情况,但是没有找到具体的解决方案,大致调试了这几种方案:调整堆内存大小,上限调大;切换开发工具版本;切换jdk版本

        本地解决: 没有具体方案,就是先切换 IDEA 版本,调试,切换 JDK 版本,调试,挨个试错;另外的话调试的时候注意项目中是否存在过多断点,debug 启动的时候可以屏蔽掉,说不定会出现奇迹!

八、Integer 超出上限后变负数

        背景:

        有一个地方需要将给定的时间戳加上指定天数,然后进行转换,问题发生在将天数转换为时间戳后,发现得到的时间戳比相加前要少了,伪代码如下:这里的天数是 Integer 类型的

给定时间戳 + 天数 * 24 * 60 * 60 * 1000

        问题所在:通过一系列的操作,最后定位到 Integer 的上限问题, 这里传入的天数90,计算过后的结果远大于上线,在别的文章中找到问题,超出上线后会变为负数

 

        解决方法: 调整数据结构,这里没有改变原有数据结构,在使用的地方显示转换为Long类型再使用的,根据业务需求,long类型的上限足够本地项目使用

给定时间戳 + Long.valueOf(天数)* 24 * 60 * 60 * 1000

九、swagger 检测不到 @ApiModelProperty 标注的字段

        背景:有一个接口返回值新增了一个字段正式环境更新后(返回数据是 List,泛型是一个静态内部类,在静态内部类中新增了一个字段,正常页面显示的样例返回结果中应该显示这个字段),swagger页面却没有检测到该字段,但是接口调用返回的数据是存在字段的;这就导致前端同事查看接口文档时遇到问题

        问题所在:经本地检查调整测试后发现,是因为别的类中有一个相同名称的静态内部类,而且该类与修改的类字段正好差新增的那个,发生了覆盖,导致最后页面上显示的是该类的属性

        解决方案:修改其中一个静态内部类的名称,安全起见列表名称也修改

十、导入的maven项目 IDEA 自动检测不到

        背景:一直在开发的项目,又开了一个新的模块,远程下载到本地之后,重新导入,Maven 识别不到,无法正常使用

        问题所在:项目结构变化后,没有清除原有的 .idea 文件,每次导入时使用的就是老的 idea 配置文件,新导入的项目自动也不会处理

        解决方案:找到项目的上一级目录,显示所有文件(包含隐藏文件),清除 .idea 文件,重新导入项目,如若还是不行,导入项目后,重新配置下项目结构,file->project Structure->检查下这里的配置

        编辑好之后退出(会存在一个新的 .idea文件),重新删除 .idea 文件,然后导入项目右下角会有检测到 maven 配置的提示,点击 load 即可

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

先锋 Coder

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

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

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

打赏作者

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

抵扣说明:

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

余额充值