最近实验室的一些项目采用了Spring Boot架构进行开发。项目完成以后,就需要部署到服务器。常规办法就是将项目打成war包,直接拖到tomcat的webaaps下,但是Spring boot 的默认是将项目打成jar包,所以就需要进行一些配置。百度和Google了配置方法都是大同小异。 不过网上的例子大部分都是使用的是Eclipse+Maven ,我们实验室使用的idea+gradle。所以就有一些小的变化,不过都是相通的。需要修改的地方是:
排查了好久,终于在Stackoverflow(不得不说是程序猿的好帮手啊)找到了解决办法,外国兄弟和我遇到了同样一个问题。 下图是解决方式之一,他的意思大概是tomcat中的websocket jars与项目中的包冲突了,建议是删除产生对应的包。并贴图列举了哪些包是造成问题的原因。但是按照他的办法并没有解决我的问题,还是同样的错误。
于是我继续向下看,发现了另外一个解决办法: 按照这个办法在build.gradle中找到对应的代码,注释掉,重启服务器,项目成功启动。 分析其中的原因:原来是这个项目中多引用了Spring-boot-starter-jetty这个包,与tomcat容器产生了冲突。导致 了启动失败。 以后还需要多分析和细心检查 另外贴上Spring boot打包的一篇文章:https://docs./spring-boot/docs/current/reference/html/howto-traditional-deployment.html Ps.如有错误还请各位大大指教。 拓展阅读: where2go 团队 |
|