昨晚成功解决了
Exception in thread main java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher : Unsupported major.minor version 52.0
报错问题,确实是jdk版本的问题
该错误告诉我们,我们的类是在比尝试运行它的版本更高的Java版本下编译的。 更具体地说,在这种情况下,我们使用Java 11编译了我们的类,并尝试使用Java 8运行它。
我的服务器jdk版本是Java8,但是项目是Java16,之前尝试更换服务器版本失败,考虑到Java8是最稳定的版本,我决定修改项目的jdk版本为Java8,过程中有些踩坑,希望能帮助到大家。
1.导出项目的问题
这是我最后才发现的,有些人可能知道如何修改项目版本,但是导包前忘记clean项目了,导致导出的一直是之前的版本。
注意此时的项目结构
双击clean
clean过后target包就没有了,此时再双击package便可获得最新的项目jar包
2.项目jdk版本的修改
我的报错是项目jdk版本为60,但是服务器jdk版本为52
60代表Java16
52代表Java 8(下载地址Java Archive Downloads - Java SE 8 (oracle.com)一般选择Windows x64版本)
如果大家的报错数字不同可以以此类推一下
点击File-project Structure
点击Edit
添加你下好的jdk
再点击Modules
选择需要的sdk版本(1.8)
完成后apply即可,别忘了导出前clean一下!
将导出的项目jar包导入宝塔面板
点击终端就可以直接进入此文件夹下的命令行
输入 java -jar jar包名.jar
然后就报了这么个错
ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization.
还有一段
一番搜索发现是连接数据库的语句问题
应该改成localhost即可,因为项目在服务器内跑,localhost的地址就是云服务器,不需要手动输入多此一举
再次运行,这次只有一个报错了
阅读可知是项目的8084接口被占用了
尝试了杀死进程,但是失败了,应该是被强行占用,选择换了一个端口
成功
输入服务器ip+项目端口即可访问,但是我的报错,显示端口没被允许
我尝试通过面板添加springboot项目但报错
Error: Unable to access jarfile /www/wwwroot/xxxx.jar--server.port=8081
查询后发现是在自定义参数前必须要留一个空格!!!
部署成功(记得在防火墙释放项目端口)
映射后访问,提示:宝塔面板报错提示:您的请求在Web服务器中没有找到对应的站点!
在域名解析处添加www前缀的解析
再次访问新的报错:
Bad Request This combination of host and port requires TLS.
尝试添加ssl证书
失败
终于在一篇文章的启发下发现,我开启了ssl验证!!!
将语句删除
重复之前的操作
成功!
在小程序里试一下
记得修改url地址:http://服务器公网ip:端口/方法名
查询成功!
至此,连接问题全部解决