【发布时间】:2018-03-24 22:40:42
【问题描述】:
我无法连接到部署到 AWS Elastic Beanstalk 的 java 应用程序的端点。该应用程序处理许多 POST 请求,旨在为移动应用程序提供服务,因此服务器本身没有任何静态文件。我使用了 Spark Java 框架,当我在 Localhost 上进行测试时,它可以正确找到端点,但在 AWS Elastic Beanstalk 上却没有。
我可以将爆炸战争部署到 EB(运行 Tomcat Web 服务器)上,但我发送的所有请求都返回 404 错误:找不到资源。 Spark java 在嵌入式 Jetty 服务器上运行,因此要在 Tomcat 上运行,我按照他们的文档 (http://sparkjava.com/documentation#other-web-server) 中的建议进行操作:我已经实现了 SparkApplication 接口,将所有端点从 main() 移动到 init() 并添加了建议的代码到 web.xml 文件。
上传的 .war 包含带有 web.xml、lib(带有 gradle 库)和类(带有我的编译输出)的 META-INF。同样,没有静态文件。
更多细节:
我使用 Elastic Beanstalk IntelliJ (Ultimate) 插件进行部署,此时我测试了这与直接在 EB 仪表板上部署 .war 没有什么不同。我已在安全设置中打开所有端口和连接以丢弃任何连接问题。我相信这只是 servlet 没有映射 url 的问题。有什么建议吗?
【问题讨论】:
标签: java amazon-web-services tomcat intellij-idea spark-java