我正在尝试将一个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
....
这可能是什么?
答案 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()
}
对于Spring Boot 1(Gradle),设置springBoot.executable
:
springBoot {
executable = false
}