如何将 Jersey+Grizzly jar 部署到 AWS

Posted

技术标签:

【中文标题】如何将 Jersey+Grizzly jar 部署到 AWS【英文标题】:How to deploy Jersey+Grizzly jar to AWS 【发布时间】:2020-06-22 21:52:56 【问题描述】:

我想知道如何将包含带有 Jersey 框架的自包含应用程序(grizzly)的 Jar 文件部署到 AWS Elestic Bean,我一直在尝试通过选择生成的 jar 文件来部署它。但是 Beanstalk 总是抛出一个错误。我无法让它在 AWS 上运行。我正在编译工件 jersey-quickstart-grlizzly 附带的示例。任何有关如何操作的指南都将受到欢迎!

到目前为止我做了什么

    创建一个 AWS Beanstalk 实例。 设置为平台 JAVA。 选择 maven build 生成的 JAR 作为源 部署。

完成后,它表示生命值已更改为降级。就是这样。

更新:

寻找错误 502 我发现了一个建议,说我应该通过命令提示符运行它,看看会发生什么。我忘记在 POM 中添加主类属性。但是,它仍然显示相同的消息。

也许,您是否有任何关于 grizzly 的工作示例,我可以将其部署到 AWS 并用于入门?

【问题讨论】:

" 抛出错误。" - 什么错误? 不确定它到底是什么。它只是说降级,检查日志似乎没问题。我会发布日志,你可能有更好的主意。这就是 AWS 所说的:环境健康已从“退化”转变为“严重”。 100.0% 的请求以 HTTP 5xx 失败。所有实例上的服务受损。 【参考方案1】:

经过一番研究,我最终发现问题出在端口上。也许,其他人面临这个问题是因为我缺乏使用 Java 和那些框架的经验。

像往常一样构建你的 jar,然后:

    去豆茎。 在beantalk 实例中选择环境。 点击配置部分并编辑“软件”

    添加一个名为 SERVER_PORT 的属性,其值为 5000*。

    这将重定向到正确的端口。

【讨论】:

以上是关于如何将 Jersey+Grizzly jar 部署到 AWS的主要内容,如果未能解决你的问题,请参考以下文章

Jersey 2.x 服务器端应用支持的容器

Jersey 中不允许的 405 方法正在返回 Tomcat 的 405 页面

spring boot + jersey工程由jar包转为war包在tomcat中启动报错问题

Java jersey 导入包

笔记:创建Jersey REST 服务,基于Maven

在 jersey 项目中包含 jersey-bom 导入范围依赖项的目的是啥?