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.

解决办法

  1. 使用maven package 对项目进行打包

  2. 创建共享库,指定项目相关的Jar包存放路径,并把war包中lib文件夹里面的jar文件全部copy到该路径下

    Spring Boot项目部署到 IBM WebSphere 8.5.5需要注意的地方_第1张图片

  3. 使用eclipse重新打包,把依赖的maven库排除在打包文件之外,或者直接从打包好的war文件中删除所有的jar

    Spring Boot项目部署到 IBM WebSphere 8.5.5需要注意的地方_第2张图片

  4. 修改部署项目的classloader顺序

Spring Boot项目部署到 IBM WebSphere 8.5.5需要注意的地方_第3张图片

  1. 到此为止,基本上项目就能正常运行了,如果还是继续报404,重启一下websphere,或者在项目的启动行为那里点击一下(这里我猜测,点击之后项目会重新被容器load一次,这是会把所有相关的jar文件加载)

Spring Boot项目部署到 IBM WebSphere 8.5.5需要注意的地方_第4张图片

相关版本

  • Spring Boot version 1.3.3
  • IBM WebSphere Application Server Network Deployment 8.5.5.1
  • JDK7

你可能感兴趣的:(IBM,websphere,springboot)