2014-09-29 35 views
1

我试图将一个弹簧启动应用部署到一个EB工作层中,但似乎EB尚未准备好管理这种类型的项目。弹性Beanstalk工作层上的弹簧启动

我是否必须从我的弹簧启动应用程序生成.war?

谢谢!

+0

的Java应用程序的Tomcat与EB一线工人的支持。您可以尝试使用“64位亚马逊Linux 2014.03 v1.0.7运行Tomcat 7 Java 7”的应用程序“ – 2014-10-01 18:53:32

+0

我刚刚添加了解决方案:) – 2014-10-01 19:38:09

回答

5

我发现了这个问题。

EB期望.war文件和Spring Boot应用程序通常由嵌入式Tomcat或Jetty启动。

我发现本指南中的解决方案:

http://spring.io/guides/gs/convert-jar-to-war/

总结:

  1. 放入tomcat依赖与提供范围在pom.xml中

    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
        <scope>provided</scope> 
    </dependency> 
    
  2. 创建一个扩展SpringBootServletInitiali的类zer并在此类中加载入口点。这样,我们向servlet容器指示如何启动应用程序。

    package com.proyecti.magma.conversionsworker.config.servlet; 
    
    import org.springframework.boot.builder.SpringApplicationBuilder; 
    import org.springframework.boot.context.web.SpringBootServletInitializer; 
    
    import com.proyecti.magma.conversionsworker.entrypoint.Application; 
    
    public class ServletConfig extends SpringBootServletInitializer 
    { 
        @Override 
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
         return application.sources(Application.class); 
        } 
    
    } 
    
+0

您是否尝试过使用Spring Boot + Tomcat在ElasticBeanstalk上使用SSL? – Dimitri 2014-11-25 15:59:08

+0

嗨,抱歉,我还没有处理SSL。这可以帮助你吗? http://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-servlet-containers.html#howto-configure-ssl – 2014-11-25 17:01:13

+0

请分享您的实例配置?哪个Tomcat,哪个Java等谢谢! – Marek 2015-01-07 11:15:34