1

我試圖將.ebextensions文件夾添加到我的jar的根級別以部署到AWS elastic beanstalk。Spring Boot和eBextensions

我的文件夾結構是:

main: 
--src 
--resources 
    --.ebextensions 

當我建立我的.ebextensions被放在我的目標的類路徑,因此瓶子不被ELB上部署回升。

的pom.xml

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
      <fork>true</fork> 
      <addResources>false</addResources> 
    </configuration> 
</plugin> 

如何建立,使ebextensions由ELB回升?

+0

您可能會感興趣的[今年春季啓動問題(https://github.com/spring-projects/spring-開機/問題/ 6626)。 –

+0

其實,你確定你想要在jar的根目錄下的文件嗎? [文檔](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html)表明'.ebextensions'應該位於應用程序源包中的jar文件旁邊。 –

回答

2

這個工作對我來說,是最乾淨的方式(在Maven的),我發現解決這個問題:

添加.ebextensions在你的項目的根目錄,在插件節末尾加上這段代碼:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.6</version> 
      <executions> 
       <execution> 
        <id>prepare</id> 
        <phase>package</phase> 
        <configuration> 
         <tasks> 
          <unzip src="${project.build.directory}/${project.build.finalName}.jar" dest="${project.build.directory}/${project.build.finalName}" /> 
          <copy todir="${project.build.directory}/${project.build.finalName}/" overwrite="false"> 
           <fileset dir="./" includes=".ebextensions/**"/> 
          </copy> 
          <zip compress="false" destfile="${project.build.directory}/${project.build.finalName}.jar" basedir="${project.build.directory}/${project.build.finalName}"/> 
         </tasks> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

這個插件使用螞蟻解壓縮由彈簧引導生成的最終罐,具有相同名稱的再次複製在根和zip(罐)的.ebextensions。測試和生產:)

作品使用Spring 1.5.3.RELEASE工作