如何本地运行包含多个EAR、WAR文件的旧应用
老旧Java EE应用WebSphere部署及本地运行方案
部署方式判断
2005年左右的Java EE应用,4个包(2个EAR、2个WAR)的部署逻辑按以下规则判断即可:
- 解压EAR包查看内部的
META-INF/application.xml配置:如果配置文件中已经将WAR包声明为web模块,且EAR包内部已经包含对应WAR文件,仅需部署2个EAR即可,无需单独部署WAR - 如果EAR的配置文件未关联WAR,或EAR包内不存在对应的WAR文件,说明4个包为独立业务模块,需要分别部署2个EAR+2个WAR,共4个独立实体到WebSphere中
本地运行实操步骤
你手头的WebSphere 9.0、IDEA/Eclipse完全可以支撑整套环境搭建,按以下步骤操作:
- 预校验配置
用IntelliJ IDEA或Eclipse导入所有项目包,提取以下核心配置信息:- 每个WAR的
WEB-INF/web.xml中配置的上下文根(context-root)、SOAP服务的Servlet映射路径 - EAR、WAR中是否有JNDI资源(数据源、JMS队列等)、安全角色的依赖配置
- 所有SOAP服务的WSDL访问路径后缀
- 每个WAR的
- WebSphere 部署启动
- 打开WebSphere集成解决方案控制台,默认访问地址为
http://localhost:9060/ibm/console - 依次进入「应用程序」>「应用程序类型」>「WebSphere 企业应用程序」,点击「安装」按钮
- 按顺序上传部署EAR文件,再部署独立WAR文件,部署过程中如果提示资源依赖缺失,可先选择跳过绑定完成部署,后续再补全依赖项
- 勾选所有已安装的应用,点击「启动」,查看SystemOut.log无报错即为启动成功
- 打开WebSphere集成解决方案控制台,默认访问地址为
- SOAPUI接口调用验证
应用启动后,先在浏览器访问每个SOAP服务的WSDL地址,通用格式为http://<WebSphere服务地址:端口>/<上下文根>/<服务路径>?wsdl,可正常返回WSDL文件后,即可在SOAPUI中导入WSDL生成请求样例发起调用
兼容性注意事项
- 2005年的Java EE应用通常基于JDK 1.5/1.6开发,需要将WebSphere 9.0的应用JDK兼容模式调整为对应版本,避免类加载异常
- 应用依赖的老旧第三方Jar包优先放到WAR的
WEB-INF/lib或EAR的APP-INF/lib目录下,不要修改WebSphere全局类路径,避免冲突
内容的提问来源于stack exchange,提问作者AndyMostDandy
相关产品推荐
相关产品推荐

