#博学谷IT技术支持#

目录

#博学谷IT技术支持#

1.idea卡顿

2.表列名和实体类属性名不一样

3. 打开已有虚拟机时,没有反应

4. springboot项目启动时,报错:error in opening zip file

5. 将项目部署到linux上,启动数据库时报错,连接不上

6. springboot打包成docker镜像时报错

7. docker部署springboot

8. mybatis传参报错


1.idea卡顿

导入一个微服务项目时,出现了很严重的卡顿问题,点一下卡一下,实在是没法正常操作了,查资料,发现一篇很纤细的帖子,第一个方法就解决了我的问题。

我的卡顿原因:IDEA默认启动配置,一款软件它要考虑低配置用户,所以初始化参数不高(默认最低128m,最高512m),导致启动慢,然后运行也不流畅。因此我们需要优化下启动和运行配置。

手动修改idea配置步骤:

  • 找到idea安装目录,进入bin文件夹下,找到idea.exe.vmoptions文件!
  • idea.exe.vmoptions:默认32位机器运行的
  • idea64.exe.vmoptions:默认64位机器运行的
  • idea运行spring idea运行springboot项目运行很慢_idea运行spring

  • 打开idea.exe.vmoptions 或者idea64.exe.vmoptions文件
  • 修改前:

idea运行spring idea运行springboot项目运行很慢_idea运行spring_02

  •  修改后

如果电脑配置很好,参数可以修改到更大值

  • 关键的三个参数的说明
  • -Xms 是最小启动内存参数
  • -Xmx 是最大运行内存参数
  • -XX:ReservedCodeCacheSize 保留代码占用的内存容量参数
  • 保存配置文件后,重启idea,发现问题得到了很大的改善。

2.表列名和实体类属性名不一样

查询时,userId没有封装到实体类中,查询到的值为null

idea运行spring idea运行springboot项目运行很慢_mybatis_03

 

idea运行spring idea运行springboot项目运行很慢_java_04

在配置类application.yml文件中添加开启驼峰命名的配置

mybatis:
  configuration:
    map-underscore-to-camel-case: true

3. 打开已有虚拟机时,没有反应

以下两种常规方式都没有用

idea运行spring idea运行springboot项目运行很慢_ide_05

网上查阅资料,修改文件权限、关闭防火墙都没有作用

实际有用方式

idea运行spring idea运行springboot项目运行很慢_intellij-idea_06

扫描位置选择虚拟机所在文件目录

idea运行spring idea运行springboot项目运行很慢_java_07

虚拟机就能正常打开啦~

之后可能会出现新的问题:

问题:VMware该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按"获取所有权(T)"按钮获取它的所有权

解决:在安装目录下找到文后缀名为.vmx.lck的文件夹 然后删除。然后再次打开虚拟机发现好了

原因:不正常关闭虚拟机时,虚拟机尝试恢复之前状态时未成功就会报错

4. springboot项目启动时,报错:error in opening zip file

解决方法: 1.刷新maven,2.删除maven仓库中对应的jar包,重新下载,3.https://mvnrepository.com/在这个网站下载对应jar包放入项目的maven仓库中

补充:https://mvnrepository.com/网站访问不了,使用手机热点可以

5. 将项目部署到linux上,启动数据库时报错,连接不上

具体报错:No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

解决方法:在数据库链接地址后面添加 useSSL=false。

解释:SSL(Secure Sockets Layer 安全套接字协议),在mysql进行连接的时候,如果mysql的版本是5.7之后的版本必须要加上useSSL=false,mysql5.7以及之前的版本则不用进行添加useSSL=false,会默认为false,一般情况下都是使用useSSL=false,尤其是在将项目部署到linux上时,一定要使用useSSL=false!!!,useSSL=true是进行安全验证,一般通过证书或者令牌什么的,useSSL=false就是通过账号密码进行连接,通常使用useSSL=false!!!

6. springboot打包成docker镜像时报错

具体报错:No plugin found for prefix 'docker' in the current project and in the plugin groups

错误原因: 插件不在maven配置文件settings.xml中pluginGroups的白名单里面

解决方法: 修改maven的settings.xml配置文件,在<pluginGroups>节点中添加


<pluginGroup>com.spotify</pluginGroup>


7. docker部署springboot

报错:manifest for java:8 not found

解决方法:

docker file文件


from java:8


修改为以下即可


from openjdk:8


8. mybatis传参报错

具体报错:There is no getter for property named "dayParam" in java.util.Date

错误原因:在Date类中属性dayParam没有getter方法

idea运行spring idea运行springboot项目运行很慢_java_08

加入@Param注解后仍然报错,这里我们只是想把Date类型的值dayParam传进去,但是jdk不知道什么原因把dayParam理解成了Date类的一个属性,这里我们把dayParam改成date,代码就正常运行了