【问题标题】:Spring Maven rest web service - What is the URL when deploying on real web server?Spring Maven REST Web 服务 - 在真实 Web 服务器上部署时的 URL 是什么?
【发布时间】:2015-07-25 13:07:03
【问题描述】:

我按照本教程 https://spring.io/guides/gs/rest-service/ 在 intellij、addind pom.xml 等中创建 maven 项目。然后我完全按照教程中的说明在 localhost 上运行,一切正常:

http://localhost:8080/greetinggreeting来自控制器@RequestMapping("/greeting")的方法注解时。

然后我制作了 JAR 工件并将其部署到“真实服务器”上的 Tomact(在 AWS 上运行 EC2 实例的 Elastic beanstalk 环境)。

我从 AWS 获得了运行 Tomact 的网络服务器的基本 URL。现在我的服务的后缀是什么?这不起作用:

http://someEnvironmentName.elasticbeanstalk.com/greeting

编辑:我如何制作工件 JAR

在 intellij 中,我可以编译并运行 maven 项目,然后在 localhost 中对其进行测试。所以我做了什么:

  1. 右键项目名->打开模块设置->Artifacts->Add->Jar

  2. Build->Build Artifacts->从上方选择 Jar

也许我需要构建 WAR?以及如何处理 POM.xml?现在我的 pom 与链接教程中的完全一样。

谢谢,

【问题讨论】:

  • 我制作了 JAR 工件并将其部署到 Tomact:这是您应该在问题中详细说明的部分。部署在 Tomcat 中的应用程序是 war 文件,而不是 jar 文件。告诉我们你是如何制作战争文件的,你是如何命名的,你是如何部署的。
  • @JBNizet 谢谢,请查看我对问题的编辑
  • 好的。所以你实际上并没有部署任何tomcat可以理解的东西。 Tomcat 应用程序部署为 war 文件。阅读 spring boot 文档,了解如何生成war文件:docs.spring.io/spring-boot/docs/current/reference/htmlsingle/…,然后在自己的机器上安装tomcat,并在tomcat下部署那个war文件。如果您希望此应用程序成为根应用程序,请将其命名为 ROOT.war。一旦你能做到这一点,然后只有在 AWS 上的某个地方部署它。
  • 感谢@JBNizet 它有效,我添加了一个贡献的答案

标签: spring maven amazon-ec2 amazon-elastic-beanstalk spring-ws


【解决方案1】:

如果您使用 spring-boot,则不需要 tomcat,因为 spring 包含嵌入式 tomcat。只有您使用 Maven 运行应用程序。所以,spring-boot 的优势在于不依赖应用服务器,不依赖其他容器,比如 Docker。

您是否将端口放入您的网络服务器的调用中?

另一方面,检查您的服务器日志,看看是否有任何问题。

【讨论】:

  • 我的服务器是 AWS elasticbeanstalk 实例,它似乎会自动分配运行 Tomact 的 EC2。然后我将 jar 部署到那里。
【解决方案2】:

解决方案(感谢@JBNizet 的建议):

关注此链接http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file

  1. 修改 Application.java 文件
  2. 修改pom.xml(增加一个依赖)

那么如果你在 Build->Build Artifacts 下使用 Intellij IDE 将自动成为 WAR 文件的选项。

只需以通常的方式部署到运行 EC2 的 AWS elasticbeanstalk 实例即可。网址是:

http://someEnvironmentName.elasticbeanstalk.com/greeting

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    相关资源
    最近更新 更多