Spring Boot项目部署到 IBM WebSphere 8.5.5需要注意的地方
遇到问题
对Spring Boot观察了好久,最近终于开始有机会使用Spring Boot来做项目的开发,Spring Boot不需要部署,用jar包模式运行的机制,非常适合做快速开发,能在项目演示和迭代期间起到快速的推进作用。整体来说是一个非常好快速开发框架。
今天着重要说一下的是Spring Boot项目打包成war包,部署到J2EE容器,特别是Websphere遇到的问题。
首先Spring Boot项目build的war包,在Tomcat 7,8,Jetty等容器下,不论是嵌入到eclipse中,还是部署运行都是ok的.在Websphere 8.5.5 liberty profile中运行也没有问题,但是在 Websphere 8.5.5的正式版本中,就有几个地方需要注意,否则Spring Boot相关的包不会被服务器load,导致项目部署好了所有的访问都是404.
解决办法
使用maven package 对项目进行打包
创建共享库,指定项目相关的Jar包存放路径,并把war包中lib文件夹里面的jar文件全部copy到该路径下
使用eclipse重新打包,把依赖的maven库排除在打包文件之外,或者直接从打包好的war文件中删除所有的jar
修改部署项目的classloader顺序
- 到此为止,基本上项目就能正常运行了,如果还是继续报404,重启一下websphere,或者在项目的启动行为那里点击一下(这里我猜测,点击之后项目会重新被容器load一次,这是会把所有相关的jar文件加载)
相关版本
- Spring Boot version 1.3.3
- IBM WebSphere Application Server Network Deployment 8.5.5.1
- JDK7
文章来自:http://blog.csdn.net/xwm111/article/details/51330051