将Spring Boot项目(最好只是jar)部署到AWS Beanstalk环境的最佳方法是什么。或者我应该将它转换为WAR并以这种方式部署它?
解决方案:
基本上我做的是这个:
创建新类告诉Spring Boot我的应用程序是一个Web应用程序,我需要创建所有必要的配置:
public class MyBootWebApp extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return
application.sources(MyBootApp.class); } }
(2).pom文件内部将包装改为战争:<packaging>war</packaging>
就是这样。
答案 0 :(得分:3)
将Spring Boot部署到Beanstalk的最简单方法是使用Spring Guide将项目转换为WAR文件。然后,您只需设置Beanstalk应用程序以使用Tomcat并拖放WAR文件。 AWS负责其余的工作。
编辑:基于马克西姆所做的事情
第1步:
public class MyBootWebApp extends SpringBootServletInitializer {
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyBootApp.class);
}
}
第2步:更改您的pom.xml使用<packaging>war</packaging>
答案 1 :(得分:2)
您可以使用Elastic Beanstalk轻松地将Spring Boot应用程序部署为jar文件。您根本不需要如官方Spring Boot指南中所述的boxfuse。它就像
一样简单下载EB CLI,然后在spring boot project文件夹中运行
eb init
用于平台选择选项2)java
添加到新创建的.elasticbeanstalk / config.yml文件中
deploy:
artifact: target/spring-boot-aws-example-0.0.1-SNAPSHOT.jar
(将jar名称更改为匹配的名称)
然后通过将此应用程序添加到application.properties
来更改您的应用程序以侦听端口5000server.port=5000
然后做
# Prerequisite : generate deployment artifact
mvn clean install
# Create a load balancing, auto-scaling environment
eb create
我的博客文章介绍了该流程的完整详情: https://exampledriven.wordpress.com/2017/01/09/spring-boot-aws-elastic-beanstalk-example/
答案 2 :(得分:1)
我对Beanstalk的确不太了解,但我认为Java容器只支持WAR。您仍然可以使WAR可执行本地(和非Beanstalk)使用(例如在gs guide中)。
答案 3 :(得分:1)
将Spring Boot项目部署到AWS Beanstalk(最好在jar文件中):