关于SpringBoot部署上的一些坑
来源:互联网 发布:如何判断域名被劫持 编辑:程序博客网 时间:2024/04/30 04:54
最近打算把之前写的一个SpringBoot的小demo部署到自己的腾讯云上
但是中间断断续续踩了很多坑,所以来写个博客,来记录下
第一个坑
- war包的部署
在IDEA里打包成war包后,我高高兴兴的把它扔到了服务器的Tomcat上
但是却没有用,我以为是环境问题
于是我把打包的war包扔到了本地的Tomcat上
还是没有用
我查看了本地Tomcat的日志
1
严重: The web application [/ssm] registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
查了资料,说是Tomcat7里面的防止内存泄漏的机制
用了很多方法试着解决,但是现在还是没有解决
于是用了jar打包的方式,放弃用war打包
第二个坑
- jar的打包
SpringBoot里用jar打包只需把pom.xml里packaging改成jar1<packaging>jar</packaging>
然后点击右侧Maven projects里的package即可在target目录下生成对应的jar文件
但是有一个问题,我本地数据的密码与服务器上不一样
所以还要在resources文件夹下的application.properties 里把数据库密码改下
但是因为我这里有单元测试,所以改完后要关掉单元测试才行
改完后在本地测试成功
高高兴兴的扔到服务器上
执行命令
1
java -jar demo.jar
报错
1
Exception in thread “main” java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 52.0)
这里就要注意了
因为我本地编译用的JAVA SDK是1.8版本的
而服务器上是1.7版本的,所以就出了问题
一开始我打算把IDEA里项目编译的SDK改为1.7
但是改完1.7后打包各种报错
估计是Maven那边又有些地方版本对不上吧(JAVA的版本真的是坑,前后不兼容)
于是只能在服务器上修改JAVA的版本
参考了这篇博客 ubuntu 安装jdk 的两种方式
总算是完成了版本的升级
第三个坑
- 服务器上的端口问题
一开始我在resources文件夹下的application.properties 里把项目端口设置为81端口
但是在服务器上运行的时候报错了1ERROR 10148 --- [ main] o.a.coyote.http11.Http11NioProtocol : Failed to start end point associated with ProtocolHandler ["http-nio-81"]
查了资料后
According to w3.org doc ports below 1024 are priviledged on Linux. Only root can bind to such ports. You should either use ports >1024 or run under root account (not recommended).
发现好像不能把端口定为小于1024的端口,于是我改成了8889端口
打包–本地测试–上传服务器–运行–成功
总算是成功了!!!
一些注意事项
数据库的远程管理用Mysql官方的MySql Workbench工具
远程连接的时候记得先在数据库中新建一个用户Tomcat里的管理员要在tomcat-user.xml 中设置
设置完就可以查看进程了
用到的工具
- IDEA
- Tomcat
- Mysql
- WinSCP
- MySql Workbench
- 关于SpringBoot部署上的一些坑
- 关于SpringBoot的一些Reflection
- 关于springboot项目的部署问题
- springboot关于application的一些配置
- linux下部署springboot项目用到的一些命令
- SpringBoot部署到WAS上的问题小结
- SpringBoot的热部署
- 关于springboot打包的坑
- moss上部署webpart的一些方法
- 关于将XMPP server部署到Tomcat上的一些问题及断开连接不上解决
- 关于自定义重写springboot配置的一些建议
- 关于iis部署的一些小问题
- 关于Resin在Eclipse或者Myeclipse上利用Debug模式部署的方法以及遇到的一些问题
- springBoot工程的热部署
- springboot项目打成war包部署到tomcat遇到的一些问题
- springboot中关于JPA的坑
- 关于SpringBoot的配置文件
- Django部署在nginx上(FastCgi)的一些常见问题
- linux内核 address_space 结构
- 操作系统复习-4.1 文件系统基础
- CRUD:增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)
- 1327: 表达式计算
- Android笔记(1)layout类似按钮的按下状态
- 关于SpringBoot部署上的一些坑
- 洗牌算法
- JS初级一基本理论
- CF Round422 Div2 PC(水题)
- unity学习日记:AssetBundle工作流程之资源的打包与加载
- php数组函数
- Android 底部导航栏中间凸起、越界显示
- C/C++ 编码转换
- Eclipse 在开发中使用到的快捷键很实用噢