无法将Spring Boot war部署到Elastic Beanstalk

时间:2016-11-28 22:44:16

标签: java spring maven spring-boot elastic-beanstalk

我正在尝试将一个Spring Boot应用程序(在本地工作)部署到EB,它似乎在pom文件中禁止某些内容,但我无法缩小范围。运行Tomcat8,Java 8.我能够获得一个更基本的版本,其中剥离了部署的依赖项,但这不会让步。

包括我的eb-activity.log和pom.xml

我得到的eb-activity中的具体错误是:

value_at

我的eb-activity.log的一部分看起来像是:

6813 extra bytes at beginning or within zipfile
    (attempting to process anyway)

我的pom看起来像:

[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
....

这可能是什么?

3 个答案:

答案 0 :(得分:3)

springBoot {
    mainClass = ''
    executable = false
    buildInfo()
}

可执行文件需要在build.gradle中设置为false,以便在beanstalk

中工作

答案 1 :(得分:2)

对于maven我必须添加

<configuration>
   <mainClass>${mainClass}</mainClass>
   <addResources>true</addResources>
    **<executable>false</executable>**
</configuration>
pom中的

答案 2 :(得分:0)

使归档文件不可执行。

对于Spring Boot 2(Gradle),删除:

bootJar {
    launchScript()
}
tasks.getByName<BootJar>("bootJar") {
    launchScript()
}

reference

对于Spring Boot 1(Gradle),设置springBoot.executable

springBoot {
    executable = false
}