最近再写一个仿微信的项目遇到的一些bug(还在继续编写中)

2024-08-23 11:52

本文主要是介绍最近再写一个仿微信的项目遇到的一些bug(还在继续编写中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:

  • bug (一)Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are requiredProperty
    • 报错
    • 解决方法
  • bug (二)Cannot invoke “javax.script.ScriptEngine.eval(String)“ because “engine“ is null
    • 报错
    • 原因
    • 解决方法

在这里插入图片描述

bug (一)Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are requiredProperty

报错

在一个springboot demo启动的时候出现以下错误 ,
在这里插入图片描述

解决方法

1.启动类 里配置的 (@MapperScan(“com.example.demo.dao.mapper”)),这里开始配置错了

@EnableAsync
@EnableTransactionManagement//处理事务
@EnableScheduling//定时任务
@MapperScan(basePackages = {"com.jjy.easy_chat.mapper"})//这个地方路径写错该对即可
@SpringBootApplication(scanBasePackages = {"com.jjy.easy_chat"})
public class EasyChatApplication {public static void main(String[] args) {SpringApplication.run(EasyChatApplication.class, args);}}

2.application.yml 里配置的路径

mybatis:mapper-locations: classpath*:com/jjy/easy_chat/mapper/*.xml

3.检查mapper路径是否正确。若正确,查看在@EnableAutoConfiguration注解后,是否添加了exclude或者在@SpringBootApplication若有添加,尝试删除。(我的错误原因)

@EnableAsync
@EnableTransactionManagement//处理事务
@EnableScheduling//定时任务
@MapperScan(basePackages = {"com.jjy.easy_chat.mapper"})
@SpringBootApplication(scanBasePackages = {"com.jjy.easy_chat"},exclude = DataSourceAutoConfiguration.class)
public class EasyChatApplication {public static void main(String[] args) {SpringApplication.run(EasyChatApplication.class, args);}}

原因:

@SpringBootApplication,它组合了@Configuration, @EnableAutoConfiguration, 和 @ComponentScan注解的功能。下面是这个注解的一些关键点:
@SpringBootApplication: 这是Spring Boot的主启动类注解,它告诉Spring Boot应用从哪个包开始扫描组件。
exclude: 这个属性用来排除自动配置的类。在代码中,它排除了DataSourceAutoConfiguration,这意味着Spring Boot将不会自动配置数据源。

删除掉exclude里面的东西即可

bug (二)Cannot invoke “javax.script.ScriptEngine.eval(String)“ because “engine“ is null

报错

Cannot invoke “javax.script.ScriptEngine.eval(String)” because “engine” is null

原因

我在使用一个验证码生成的工具asy-captcha库的验证码接口遇到javax.script.ScriptEngine.eval调用失败的问题,因为engine为null。

dk8中内置的JavaScript引擎 nashorn 被移除,导致报错Cannot invoke “javax.script.ScriptEngine.eval(String)” because “engine” is null
脚本引擎执行脚本语句报错,因为执行引擎为空。

解决方法

  1. 降低jdk版本为1.8
  2. 在pom文件添加JavaScript引擎 nashorn 依赖,重新启动项目即可
<dependency><groupId>org.openjdk.nashorn</groupId><artifactId>nashorn-core</artifactId><version>15.4</version> 
</dependency>

后续还会更新

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力
在这里插入图片描述

这篇关于最近再写一个仿微信的项目遇到的一些bug(还在继续编写中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1099303

相关文章

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是