2014-09-29 34 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