【问题标题】:Time-out w/ Gradle deploy of Spring-based web application to WAS Liberty将基于 Spring 的 Web 应用程序的 Gradle 部署到 WAS Liberty 时超时
【发布时间】:2018-04-19 14:32:43
【问题描述】:

我正在尝试编写一个简单的基于 Spring 的 Web 服务以在 WAS Liberty 8.5.5.9 上运行。该应用程序是一个 Gradle 项目,我使用命令 gradle clean build deploy 构建和部署该应用程序。但是,这会失败并显示以下消息:

[ant:deploy] CWWKM2006I: Deploying application .../userSetting.war to the dropins folder.
[ant:deploy] CWWKM2010I: Searching for CWWKZ0001I.*userSetting in 
             /home/lavin/WASLiberty/usr/servers/defaultServer/logs/messages.log.
             This search will timeout after 30 seconds.
[ant:deploy] CWWKM2011E: Timed out searching for CWWKZ0001I.*userSetting in
             /home/lavin/WASLiberty/usr/servers/defaultServer/logs/messages.log.
:deploy FAILED

确实dropins/ 文件夹中看到了userSetting.war,但我在尝试启动应用程序时遇到了问题,因此我认为部署已损坏。

谁能解释一下问题是什么以及如何解决?

【问题讨论】:

    标签: spring-boot gradle websphere-liberty


    【解决方案1】:

    这里的工具最多等待 30 秒才能看到 CWWKZ0001I 消息,即“应用程序 XYZ 已启动”消息 ID。由于构建脚本在 30 秒内没有找到此消息,因此有 2 种可能:

    1. 应用程序启动失败(可能是这种情况)
    2. 应用程序的启动时间超过 30 秒(可能不是这种情况,除非您的 .war 应用程序非常庞大)

    我假设应用程序无法启动,在这种情况下,您需要检查服务器日志以找出应用程序无法启动的原因。如控制台所示,message.log 位于/home/lavin/WASLiberty/usr/servers/defaultServer/logs/messages.log


    顺便说一句,Liberty 8.5.5.9 已经相当老了,从那时起,Liberty 团队一直致力于更好地支持 Spring 应用程序。特别是,请查看这篇博文:
    Open Liberty Spring Boot Starter

    如果您以前没有听说过 OpenLiberty,它是 WAS Liberty 的一个开源子集(这意味着在 OpenLiberty 上运行的任何东西都将在 WAS Liberty 上运行)。

    【讨论】:

    • 感谢您的解释。我检查了一下,nothing 被写入messages.logconsole.log。愚蠢的问题:我必须在部署之前启动服务器吗?
    • 啊,是的,这意味着服务器没有启动。如果您使用的是liberty gradle 插件,它的任务会自动管理服务器生命周期。你可以在这里查看:github.com/WASdev/ci.gradle
    猜你喜欢
    • 2018-09-30
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多