You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

复制Liberty服务器后应用启动但REST接口无法访问求助

问题排查:Liberty服务器复制后接口无法访问

问题描述

我在本地解压部署Liberty服务器,执行server create <name>后,从远程测试环境复制配置文件并放置带本地配置的.war包,命令行启动后应用可正常运行。但将相同服务器文件夹复制到同事电脑或本地其他目录后,虽然日志显示应用ws-ids已启动,调用REST接口时浏览器返回ERR_CONNECTION_REFUSED,且无后续请求日志。尝试更换服务器版本、直接复制测试环境服务器等操作均无效,所有配置文件(server.xml、server.env)及.war包均与正常环境一致,未发现硬编码路径。日志显示应用启动成功,但只有正常环境会在调用接口后生成后续日志,疑似应用未真正加载到服务器,求排查思路及需补充的信息。

启动日志(已翻译)

...

com.ibm.ws.http.internal.VirtualHostImpl                     A CWWKT0016I: Web应用已可用(default_host):http://localhost:9080/idsWS/
com.ibm.ws.session.WASSessionCore                            I SESN0176I: 将为应用键default_host/idsWS创建新的会话上下文
com.ibm.ws.util                                              I SESN0172I: 会话管理器使用Java默认的SecureRandom实现生成会话ID
io.jaegertracing.Configuration                               I 初始化追踪器=JaegerTracer(版本=Java-0.34.0, 服务名=ws-ids, 报告器=RemoteReporter(发送器=UdpSender(), closeEnqueueTimeout=1000), 采样器=RemoteControlledSampler(maxOperations=2000, 管理器=HttpSamplingManager(hostPort=localhost:5778), 采样器=ProbabilisticSampler(标签={sampler.type=probabilistic, sampler.param=0.001})), 标签={hostname=CTXW10VDDN-006, jaeger.version=Java-0.34.0, ip=26.0.226.195}, zipkinSharedRpcSpan=false, expandExceptionLogs=false, useTraceId128Bit=false)
m.ibm.ws.microprofile.opentracing.jaeger.JaegerTracerFactory I CWMOT1001I: 已为ws-ids应用创建JaegerTracer实例。追踪信息将发送至localhost:6831。
com.ibm.ws.app.manager.AppMessageHelper                      A CWWKZ0001I: 应用ws-ids已启动,耗时39.529秒。

<--------------------------------------------> 

com.ibm.ws.webcontainer.extension                            W SRVE0190E: 文件未找到:/openapi/ui/
.jaxrs20.cdi.component.JaxRsFactoryImplicitBeanCDICustomizer W CWWKW1002W: JAXRS提供者FakeRestFilter的CDI作用域为javax.enterprise.context.Dependent。Liberty将从CDI获取提供者实例。
.jaxrs20.cdi.component.JaxRsFactoryImplicitBeanCDICustomizer W CWWKW1002W: JAXRS提供者PortaleCookieFilterRest的CDI作用域为javax.enterprise.context.Dependent。Liberty将从CDI获取提供者实例。
.jaxrs20.cdi.component.JaxRsFactoryImplicitBeanCDICustomizer W CWWKW1002W: JAXRS提供者BusinessExceptionMapper的CDI作用域为javax.enterprise.context.Dependent。Liberty将从CDI获取提供者实例。
.jaxrs20.cdi.component.JaxRsFactoryImplicitBeanCDICustomizer W CWWKW1002W: JAXRS提供者GenericExceptionMapper的CDI作用域为javax.enterprise.context.Dependent。Liberty将从CDI获取提供者实例。
.jaxrs20.cdi.component.JaxRsFactoryImplicitBeanCDICustomizer W CWWKW1002W: JAXRS提供者UnknownUrlExceptionMapper的CDI作用域为javax.enterprise.context.Dependent。Liberty将从CDI获取提供者实例。
.jaxrs20.cdi.component.JaxRsFactoryImplicitBeanCDICustomizer W CWWKW1002W: JAXRS提供者ValidationExceptionMapper的CDI作用域为javax.enterprise.context.Dependent。Liberty将从CDI获取提供者实例。
.apache.cxf.cxf.core.3.2:1.0.71.cl221220221107-1900(id=116)] I 将服务器发布地址设置为/api/
com.ibm.ws.webcontainer.servlet                              I SRVE0242I: [ws-ids] [/idsWS] [it.sogei.dichiarazioneids.ws.server.JAXRSActivator]: 初始化成功。
eclipselink                                                  I CWWJP9990I: [eclipselink] EclipseLink版本:Eclipse Persistence Services - 2.7.11.v20220804-52dea2a3c0
com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8203I: 数据库产品名称:Oracle
com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8204I: 数据库产品版本:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8205I: JDBC驱动名称:Oracle JDBC driver
com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8206I: JDBC驱动版本:12.2.0.1.0

排查思路

  • 端口与监听检查
    • 执行netstat -ano | findstr 9080(Windows)或lsof -i :9080(Linux/macOS),确认9080端口是否被占用,以及Liberty是否真的在监听该端口。
    • 检查server.xml中<httpEndpoint>的host属性,确保设置为*(允许所有IP访问)或对应可访问的IP,而非仅localhost(仅本机可访问)。
  • 文件权限与路径
    • 检查复制后的服务器文件夹及子目录权限,确保当前用户拥有读写执行权限(重点关注logs、workarea、apps目录)。
    • Windows环境下排查路径是否包含特殊字符、空格,或文件被系统锁定导致加载失败。
  • 清除缓存与临时文件
    • 删除复制后服务器目录下的workarea、temp、logs文件夹,重新启动服务器,避免旧缓存干扰。
  • JDK环境一致性
    • 确认异常环境使用的JDK版本与正常环境完全一致(Liberty对JDK版本有严格要求,版本不匹配可能导致应用加载异常)。
    • 检查JAVA_HOME环境变量配置,以及启动服务器时是否调用了正确的JDK。
  • 应用状态验证
    • 在server.xml中启用adminCenter-1.0特性,访问http://localhost:9080/adminCenter查看应用是否真正处于已启动状态,检查部署详情。
    • 查看logs/ffdc目录下的故障转储文件,是否存在隐藏的启动错误。
  • 网络与防火墙
    • 检查本地防火墙是否拦截了9080端口的请求。
    • 跨电脑访问时,确认两台设备在同一网络,且网络策略允许端口访问。

需要补充的信息

  • 异常环境下服务器启动的完整messages.log日志(尤其是启动初期的端口监听相关内容)。
  • 执行server status <name>命令的输出结果,确认服务器运行状态。
  • 同事访问接口时使用的具体URL(是否为http://<目标IP>:9080/idsWS/api/xxx形式)。
  • 正常环境与异常环境的JDK版本、操作系统版本对比信息。
  • server.xml中<httpEndpoint>节点的具体配置内容。

内容的提问来源于stack exchange,提问作者Accollativo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:25:55