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到该路径下

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

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

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


相关版本

  • Spring Boot version 1.3.3
  • IBM WebSphere Application Server Network Deployment 8.5.5.1
  • JDK7
时间: 2024-07-29 01:30:15

Spring Boot项目部署到 IBM WebSphere 8.5.5需要注意的地方的相关文章

多个Spring Boot项目部署在一个Tomcat容器无法启动

Tomxin7 Simple, Interesting | 简单,有趣 本文将花费您五分钟时间 业务介绍 最近用Spring Boot开发了一个翻译的小项目,但是服务器上还跑着其他项目,包括一个同样用Spring Boot开发的微信后端服务,本次业务需要在阿里云的Linux使用同一个Tomcat容器部署多个项目. 部署环境:JDK8.Tomcat8.Centos7 遇到的问题 我多个项目一直都是部署在同一个Tomcat下,共用80端口,之前使用的MVC或者Servlet项目都没有问题,但是今天把

【Spring Boot】Spring Boot项目部署到外部Tomcat容器

一.修改项目打包方式为war包 修改pom.xml文件中packaging属性项 <packaging>war</packaging> 修改pom.xml文件增加一个依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provi

基于maven的spring boot项目 部署到tomcat出现js文件失效处理思路总结

不久前遇到了这样一个问题:在eclipse上运行的很好的项目,在部署到tomcat上后js就不能正常运行了. 在网上找了很多文章,都没有很好的解决这个问题,最终只能一步步来排查. 确人部署环境的问题还是tomcat导致的问题:在本机上用tomcat的方式部署,启动,发现js任然无效-->确定是tomcat导致的问题. 通过浏览器查看页面源代码发现所有的js文件都正常导入,同时查看class/static,下面的所有资源都存在. 删除所有js,写入alert(1),能够真确显示.在每条js导入语句

java spring boot项目部署-上

1.编写sh脚本,便于服务器上管理工程: #!/bin/bash source /etc/profile PROG_NAME=$0 ACTION=$1 usage() { echo "Usage: $PROG_NAME {start|stop|restart|status|tailf}" exit 1; } # colors red='\e[0;31m' green='\e[0;32m' yellow='\e[0;33m' reset='\e[0m' echoRed() { echo

spring boot 项目部署在Docker中调用redis出现的奇怪问题

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Dec 14 09:43:13 UTC 2016 There was an unexpected error (type=Internal Server Error, status=500). Error creating bean with name 'enabl

spring boot tomcat 部署

前几天springboot项目部署到linux中,整个过程就是个坑啊.踩坑的过程中也学到了许多.spring boot 项目部署时由于其内置了tomcat和jdk,而且还都是8. 所以部署的话就分为两种部署了, 第一种就是使用其内置的tomcat部署, 第二种就是采用外部的tomcat部署.采用内部的tomcat部署又分为两种: 第一种是打包成war包部署,第二种事打包成jar包部署. 两者区别就在于打包成jar包的是无静态资源的,如jsp,HTML等,像只是提供restful接口. 阅读此篇博

spring boot项目如何测试,如何部署

有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元测试 在开发阶段的时候最重要的是单元测试了,springboot对单元测试的支持已经很完善了. 1.在pom包中添加spring-boot-starter-test包引用 <dependency> <groupId>org.springframework.boot</groupI

Eclipse Spring boot项目热部署

spring boot项目 热部署 一,参考文档:springboot 热部署 note: 1.使用eclipse: project-->Build Automatically (选中) 2.Digital Twin 项目使用Spring boot 版本为:1.2.3.RELEASE,使用spring-boot-devtools无效. 查看Spring-boot-devtools,最低版本为1.3.0. 猜测Spring boot 整合Spring-boot-devtools最低版本为1.3.0

Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集群中去.这个才是我们最终的目标.众所周知,k8s 是目前最火的容器编排项目,很多公司都使用它来构建和管理自己容器集群,可以用来做机器学习训练以及 DevOps 等一系列的事情. 在这里,我们聚焦 CI/CD,针对于 Spring Boot 项目,借助 Gitlab CI 完成流水线的任务配置,最终部