异常处理总结一

Mabatis

使用配置文件配置Mybatis遇到的异常

错误:绑定异常

org.apache.ibatis.binding.BindingException: Type interface com.blp.dao.UserDao is not known to the MapperRegistry.

错误原因:

  • UserDao没有在mybatis配置文件中注册

解决:将xml文件在Mybatis核心配置文件中注册

    <mappers>
        <mapper resource="com/blp/dao/UserMapper.xml"/>
    </mappers>

错误:

Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory'

解决方法:删除target文件重新启动,是父模块打包成的,不是子模块的

Spring

使用spring是遇到的异常

错误:空指针

java.lang.NullPointerExceptionInstantiation of bean failed; nested exception is java.lang.ExceptionInIniti

错误原因:

  • Spring在实例化这个类的时候,先执行静态方法,但静态代码块使用的对象没在静态代码块里实例化

解决:将要是用的对象实例化

static {
   HashMap branchMap=new HashMap<Integer,Branch>();   //实例化对象,不然没法运行
}

提示:The last packet sent successfully to the server was 0 milliseconds ago.

解决:在my.cnf文件末增加连接时长并重启

interactive_timeou=28800

wait_timeout=28800

systemctl restart mysqld.service

说明: interactive_timeout也是必须要修改的参数,这样一起改才能生效,其中wait_timeout就是负责超时控制的变量。

  1. 第二个问题:开启远程连接

提示:message from server: “Host ‘120.78.152.142’ is not allowed to connect to this MySQL server”

解决:在mysql数据库中的user中增加一个字段

#查看现在使用的数据库

select database();

#使用mysql数据库

use mysql;

#增加字段

mysql -u user_1 -p -h 120.78.152.142;

#更新数据

flush privileges;

  1. 第三个问题:

提示:Public Key Retrieval is not allowed

出现问题原因:重启了mysql服务,flush privileges;

解决:我用的是在jar配置文件中的连接数据库加入

allowPublicKeyRetrieval=true

Vue

在终端命令不能使用或没输出,这种情况可以试试重装nodejs

重装nodejs

步骤:

  1. 第一步.先清空本地安装的node.js版本

    • 删除C:\Users\[Admimistraor]\AppData\Roaming下的npm和npm-cache文件,记得勾上隐藏目录

请添加图片描述

  • 然后进入命令控制行窗口,并输入where node查看之前本地安装的node的路径,找到上面找到的路径,将node.exe所在的父目录里面的所有东西都删除

请添加图片描述

  • 为了彻底删除之前安装的node.js,鼠标点击电脑左面最左下角的win窗口图标弹出,输入“控制面板”再点击回车键进入,进入控制面板后,找到所安装的node.js并卸载。

请添加图片描述

nodejs下载地址:https://nodejs.org/dist/v10.14.2/

版本建议在v16及以下,不宜过高,在v17及以上版本之后更新了OpenSSL,对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响,以前的项目在升级 nodejs 版本后会报错。

错误:

nodejs初始化运行项目报错Error: error:0308010C:digital envelope routines::unsupported
#windows系统
set NODE_OPTIONS=--openssl-legacy-provider

#macOS 系统
export NODE_OPTIONS=--openssl-legacy-provider

注意:v17及以上版本每次运行都必须声明一次。

下载.msi的安装包

请添加图片描述

双击安装,一直点next即可,不要更改默认的存储路径,环境变量自动会配置

打开命令提示器,输入

$ npm -v

查看是否安装成功,看到版本号即可

请添加图片描述

安装cnpm,在命令提示器中输入

npm install -g cnpm -registry=https://registry.npm.taobao.or

等待安装完成即可

vue和vue-server-renderer的版本不一致,导致编译打包异常(This may cause things to work incorrectly)

异常:

│   - vue@3.2.45                                   │
│   - vue-server-renderer@2.7.14                     This may cause things to work incorrectly. Make sure to use the same version for both.   │

解决办法:

  • 采用下面的命令重新安装
$ npm remove vue-server-renderer vue
$ npm add vue@2.6.14 vue-server-renderer@2.6.14
  • 重新安装后的版本如下:不要使用 ^来指定版本号
"dependencies": {
    "nuxt": "^2.0.0",
    "vue": "2.6.14",
    "vue-awesome-swiper": "^3.1.3",
    "vue-server-renderer": "2.6.14",
    "vue-template-compiler": "^2.6.14"
  }
报错:Uncaught (in promise) Error: Request failed with status code 404

错误:

请添加图片描述

错误原因:跨域访问是路径出错,多了“”

// 创建axios实例
const service = axios.create({
  baseURL: '"http://localhost:9001"', // api 的 base_url
  timeout: 20000 // 请求超时时间
})

删除双引号即可

Maven

如果你的application.yml文件没有叶子图标,可以将该文件复制到target 的class目录下
IDEA中maven项目工程中的pom.xml文件变灰且中间有一条横线的处理方法

错误:

请添加图片描述

解决方法:

File–>Settings
请添加图片描述

搜索 maven,找到 maven 下面的 Ignored Files,将清单中对应项目的pom.xml文件取消选中点击ok,重启idea即可恢复正常。

请添加图片描述

如果重启后main下的java,resources和test下的java都为灰色,这时候就要手动设置。

请添加图片描述

选择,右击,选择Mark Directory as 选择相应的模块

请添加图片描述

main->java->Sources Root

main->resources->Resources Root

test->java->Test Sources Root

请添加图片描述

导入依赖的代码都变红

当导入依赖的代码都变红,查看依赖有没有导入,File->Project Structure,如果没有的话手动导入,点击加号,全部导入即可

请添加图片描述
请添加图片描述

如果你用idea创建一个新项目时发现maven依赖不会自动导入到模块中,也就是Project Structure—> Dependencies没有导入依赖,但pom.xml没有报错。

解决方法:

查看setting–>maven中的配置是否是自己maven仓库

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

B64A-消闲

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

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

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

打赏作者

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

抵扣说明:

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

余额充值