I'm trying to deploy a Spring Boot application (that works locally) to EB and it seems to barf on something in the pom file, but I can't narrow it down. Running Tomcat8, Java 8. I was able to get a more basic version with the dependencies stripped out deployed, but this just won't budge.
Including my eb-activity.log and pom.xml
The specific error in eb-activity I'm getting is:
6813 extra bytes at beginning or within zipfile
(attempting to process anyway)
Part of my eb-activity.log looks like:
[2016-11-28T21:59:36.320Z] INFO [1738] - [Initialization] : Starting activity...
....
Running preinit
+ preinit
++ /opt/elasticbeanstalk/bin/get-config container -k tomcat_version
+ TOMCAT_VERSION=8
+ TOMCAT_NAME=tomcat8
+ TOMCAT_HOME=/usr/share/tomcat8
+ TOMCAT_CONF_HOME=/etc/tomcat8
+ SET_LIMIT_SH=/etc/elasticbeanstalk/set-ulimit.sh
+ echo 'Patching Tomcat 8 startup scripts'
Patching Tomcat 8 startup scripts
+ '[' -f /opt/elasticbeanstalk/containerfiles/tomcat-elasticbeanstalk ']'
+ echo 'Installing tomcat-elasticbeanstalk script'
Installing tomcat-elasticbeanstalk script
+ /bin/mv /opt/elasticbeanstalk/containerfiles/tomcat-elasticbeanstalk /usr/sbin
+ /bin/chown root:root /usr/sbin/tomcat-elasticbeanstalk
+ /bin/chmod 755 /usr/sbin/tomcat-elasticbeanstalk
+ echo 'Fixing Tomcat 8 init.d script'
Fixing Tomcat 8 init.d script
+ /bin/sed -i -e 's/\/usr\/sbin\/tomcat8/\/usr\/sbin\/tomcat-elasticbeanstalk/g' /etc/init.d/tomcat8
+ grep -q /etc/elasticbeanstalk/set-ulimit.sh
+ cat /etc/init.d/tomcat8
+ sed -i '/function start() {/a \ \ \ if [ -f /etc/elasticbeanstalk/set-ulimit.sh ]; then . /etc/elasticbeanstalk/set-ulimit.sh; fi' /etc/init.d/tomcat8
+ echo 'Adding X-Forwarded-Proto valve'
Adding X-Forwarded-Proto valve
+ /bin/sed -i -e '/<\/Host>/ i\
<Valve className="org.apache.catalina.valves.RemoteIpValve" protocolHeader="X-Forwarded-Proto" internalProxies="10\\.\\d+\\.\\d+\\.\\d+|192\\.168\\.\\d+\\.\\d+|169\\.254\\.\\d+\\.\\d+|127\\.\\d+\\.\\d+\\.\\d+|172\\.(1[6-9]|2[0-9]|3[0-1])\\.\\d+\\.\\d+" \/>
' /etc/tomcat8/server.xml
+ echo 'Setting UTF-8 support'
Setting UTF-8 support
+ grep -q 'Elastic Beanstalk' /etc/tomcat8/server.xml
+ sed -i '1 a\<!-- Elastic Beanstalk Maintained -->' /etc/tomcat8/server.xml
+ sed -i 's/<Connector port=\"8080\" protocol=\"HTTP\/1.1\"/&\n URIEncoding="UTF-8"/g' /etc/tomcat8/server.xml
+ ln -sf /usr/share/java/apache-commons-pool.jar /usr/share/tomcat8/lib/
[2016-11-28T21:59:50.212Z] INFO [1738] - [Initialization/PreInitStage0/PreInitHook/03processmgrsetup.sh] : Starting activity...
[2016-11-28T21:59:50.479Z] INFO [1738] - [Initialization/PreInitStage0/PreInitHook/03processmgrsetup.sh] : Completed activity. Result:
++ /opt/elasticbeanstalk/bin/get-config container -k tomcat_version
+ TOMCAT_VERSION=8
+ MONIT_TOMCAT_CONF=monit-tomcat8.conf
+ /bin/cp -f /opt/elasticbeanstalk/containerfiles/monit-tomcat8.conf /etc/monit.d/
+ chmod 0600 /etc/monit.d/monit-tomcat8.conf
[2016-11-28T21:59:50.479Z] INFO [1738] - [Initialization/PreInitStage0/PreInitHook/03setup_httpd_logging.sh] : Starting activity...
[2016-11-28T21:59:50.491Z] INFO [1738] - [Initialization/PreInitStage0/PreInitHook/03setup_httpd_logging.sh] : Completed activity.
[2016-11-28T21:59:50.492Z] INFO [1738] - [Initialization/PreInitStage0/PreInitHook] : Completed activity. Result:
Successfully execute hooks in directory /opt/elasticbeanstalk/hooks/preinit.
[2016-11-28T21:59:50.492Z] INFO [1738] - [Initialization/PreInitStage0] : Completed activity. Result:
Initialization - Command CMD-PreInit stage 0 completed
[2016-11-28T21:59:50.492Z] INFO [1738] - [Initialization/AddonsAfter] : Starting activity...
[2016-11-28T21:59:50.492Z] INFO [1738] - [Initialization/AddonsAfter] : Completed activity.
[2016-11-28T21:59:50.492Z] INFO [1738] - [Initialization] : Completed activity. Result:
Initialization - Command CMD-PreInit succeeded
[2016-11-28T22:00:27.282Z] INFO [1959] - [Application deployment tester-1.1.2@1] : Starting activity...
[2016-11-28T22:00:27.282Z] INFO [1959] - [Application deployment tester-1.1.2@1/AddonsBefore] : Starting activity...
[2016-11-28T22:00:27.282Z] INFO [1959] - [Application deployment tester-1.1.2@1/AddonsBefore] : Completed activity.
[2016-11-28T22:00:27.701Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0] : Starting activity...
[2016-11-28T22:00:27.701Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/HealthdLogRotation] : Starting activity...
[2016-11-28T22:00:27.713Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/HealthdLogRotation] : Completed activity. Result:
["/etc/cron.hourly/cron.logrotate.elasticbeanstalk.healthd.conf"]
[2016-11-28T22:00:27.713Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/HealthdHTTPDLogging] : Starting activity...
[2016-11-28T22:00:27.714Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/HealthdHTTPDLogging] : Completed activity.
[2016-11-28T22:00:27.715Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/HealthdNginxLogging] : Starting activity...
[2016-11-28T22:00:27.715Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/HealthdNginxLogging] : Completed activity.
[2016-11-28T22:00:27.715Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/EbExtensionPreBuild] : Starting activity...
[2016-11-28T22:00:28.178Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Starting activity...
[2016-11-28T22:00:28.179Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Completed activity.
[2016-11-28T22:00:28.214Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/EbExtensionPreBuild] : Completed activity.
[2016-11-28T22:00:28.215Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/AppDeployPreHook] : Starting activity...
[2016-11-28T22:00:28.215Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/AppDeployPreHook/01clean.sh] : Starting activity...
[2016-11-28T22:00:28.476Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/AppDeployPreHook/01clean.sh] : Completed activity. Result:
++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir
+ EB_APP_STAGING_DIR=/tmp/deployment/application/ROOT
+ rm -rf /tmp/deployment/application/ROOT
+ mkdir -p /tmp/deployment/application/ROOT
[2016-11-28T22:00:28.477Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/AppDeployPreHook/02unzip.sh] : Starting activity...
[2016-11-28T22:00:29.351Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/AppDeployPreHook/02unzip.sh] : Activity execution failed, because: ++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir
+ EB_APP_STAGING_DIR=/tmp/deployment/application/ROOT
++ /opt/elasticbeanstalk/bin/get-config container -k source_bundle
+ EB_SOURCE_BUNDLE=/opt/elasticbeanstalk/deploy/appsource/source_bundle
+ /usr/bin/unzip -o -d /tmp/deployment/application/ROOT /opt/elasticbeanstalk/deploy/appsource/source_bundle
Archive: /opt/elasticbeanstalk/deploy/appsource/source_bundle
warning [/opt/elasticbeanstalk/deploy/appsource/source_bundle]: 6813 extra bytes at beginning or within zipfile
(attempting to process anyway)
....
creating: /tmp/deployment/application/ROOT/org/springframework/boot/loader/util/
inflating: /tmp/deployment/application/ROOT/org/springframework/boot/loader/util/SystemPropertyUtils.class
inflating: /tmp/deployment/application/ROOT/org/springframework/boot/loader/util/AsciiBytes.class (Executor::NonZeroExitStatus)
[2016-11-28T22:00:29.352Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/AppDeployPreHook/02unzip.sh] : Activity failed.
[2016-11-28T22:00:29.352Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0/AppDeployPreHook] : Activity failed.
[2016-11-28T22:00:29.352Z] INFO [1959] - [Application deployment tester-1.1.2@1/StartupStage0] : Activity failed.
[2016-11-28T22:00:29.354Z] INFO [1959] - [Application deployment tester-1.1.2@1] : Completed activity. Result:
Application deployment - Command CMD-Startup failed
....
My pom looks like:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.core</groupId>
<artifactId>tester</artifactId>
<version>${project.version}</version>
<packaging>war</packaging>
<name>tester</name>
<description>Testing Spring Boot on EB</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.9.BUILD-SNAPSHOT</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<apache-commons.version>3.0</apache-commons.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-ws</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${apache-commons.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1206-jdbc42</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
</plugin>
<!-- tag::wsdl[] -->
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generatePackage>integration.wsdl</generatePackage>
<schemas>
<schema>
<url>https://www.soaplayeroverhere.com?wsdl</url>
</schema>
</schemas>
</configuration>
</plugin>
<!-- end::wsdl[] -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgument>-parameters</compilerArgument>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
What could this be?
By using Spring Boot application, we can create a war file to deploy into the web server.
springBoot {
mainClass = ''
executable = false
buildInfo()
}
executable needs to be set to false in build.gradle for this to work in beanstalk
For maven I had to add
<configuration>
<mainClass>${mainClass}</mainClass>
<addResources>true</addResources>
**<executable>false</executable>**
</configuration>
in pom
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With