目录

  • 背景
  • 正文内容
  • 部署过程
  • 遇到的问题
  • 在打包时点击 package 失败,报错
  • jdk版本问题
  • 总结


背景

在将服务器部署到云端时遇到了一些坑,
复盘一下整个部署过程
特此记录,方便做自己查阅

正文内容

部署过程

因为我是使用 jar 包,所以就只记录这一种,以后遇到 war包再研究

  1. 打包
  2. springboot 集成 阿里OB数据库 阿里云springboot_后端

  3. 打好的包在 target 下
  4. springboot 集成 阿里OB数据库 阿里云springboot_spring boot_02

  5. 上传到你的阿里云服务器
  6. springboot 集成 阿里OB数据库 阿里云springboot_spring boot_03

  7. 控制台敲命令

切换到存储目录下

cd

一直运行并将报错写到nohup.txt(按照自己项目名字替换中间的名字)

nohup java -jar smart_ag-0.0.1-SNAPSHOT.jar &> nohup.txt

结束运行

1.获得进程号(默认8080)

netstat -nlp | grep 8080

2.杀死

sudo kill -9 进程号

遇到的问题

在打包时点击 package 失败,报错
Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

平时本地项目运行正常,到了打包出问题,先不要怀疑自己有什么大的漏洞,有的话早报废,无非就是细节,细察之下,发现这两个东西下的启动类路径要一样!!!!

划重点

springboot 集成 阿里OB数据库 阿里云springboot_阿里云_04


可能你很少点开下面那个测试类,但是如果你创建项目时嫌麻烦,把路径里的什么 com.example之类的全部去掉了你就要小心了,很可能只改了上面的,下面的还没改。解决方案:改成一样,该删的删,改挪的挪。

springboot 集成 阿里OB数据库 阿里云springboot_阿里云_05

jdk版本问题

这里就突出了日志的重要性,不然这问题长九个头都想不到…经过检查云服务器是JDK8,那本地也得降级…

springboot 集成 阿里OB数据库 阿里云springboot_java_06


解决方案:下面几张图标明的所有地方都要确认改好!!一处不对直接吃席,没有退路可言!!!首先是这里的Project bytecode version:

springboot 集成 阿里OB数据库 阿里云springboot_java_07

springboot 集成 阿里OB数据库 阿里云springboot_云服务器_08


这里的Moudle_SDK

springboot 集成 阿里OB数据库 阿里云springboot_后端_09


pom里的配置

springboot 集成 阿里OB数据库 阿里云springboot_阿里云_10


好耶!!!运行成功

springboot 集成 阿里OB数据库 阿里云springboot_spring boot_11

总结

通过实际操作加深印象,复盘一下,方便自己查看