最近再写一个仿微信的项目遇到的一些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

相关文章

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke