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工作