Springboot GCP App Engine部署失败

时间:2018-10-08 08:34:39

标签: spring-boot google-app-engine embedded-jetty

我一直在尝试将我的spring boot项目部署到GCP应用引擎。我认为默认情况下,GCP应用程序引擎使用“码头”服务器,并且我已配置为也可以与嵌入式码头一起使用。但是在使用mvn gcloud:deploy(使用gcloud-maven-plugin插件)部署我的应用程序时,我无法部署到GCP。

我总是会遇到以下错误

Beginning interaction for module default...
0% Scanning for jsp files.
2018-10-04 12:50:39.631:INFO::main: Logging initialized @389ms
2018-10-04 12:50:43.937:WARN:oejw.WebAppContext:main: Failed startup of context o.e.j.q.QuickStartWebApp@4f80542f{/,[file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/, jar:file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/springfox-swagger-ui-2.7.0.jar!/META-INF/resources],STARTING}
MultiException[java.lang.RuntimeException: Error scanning entry META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil.class from jar file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/log4j-api-2.10.0.jar, java.lang.RuntimeException: Error scanning entry META-INF/versions/9/org/apache/logging/log4j/util/StackLocator.class from jar file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/log4j-api-2.10.0.jar, java.lang.RuntimeException: Error scanning entry module-info.class from jar file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/log4j-api-2.10.0.jar, java.lang.RuntimeException: Error scanning entry module-info.class from jar file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/asm-commons-6.0.jar, java.lang.RuntimeException: Error scanning entry module-info.class from jar file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/asm-6.0.jar, java.lang.RuntimeException: Error scanning entry module-info.class from jar file:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/asm-tree-6.0.jar]
   at org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:536)
   at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:447)
   at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:479)
   at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1337)
   at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
   at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
   at org.eclipse.jetty.quickstart.QuickStartWebApp.doStart(QuickStartWebApp.java:165)
   at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
   at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
   at org.eclipse.jetty.server.Server.start(Server.java:387)
   at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
   at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
   at org.eclipse.jetty.server.Server.doStart(Server.java:354)
   at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
   at com.google.appengine.tools.development.jetty9.QuickStartGenerator.generate(QuickStartGenerator.java:68)
   at com.google.appengine.tools.development.jetty9.QuickStartGenerator.main(QuickStartGenerator.java:47)
Failed to generate /Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/quickstart-web.xml

这是我的app.yaml配置

runtime: java
env: flex
threadsafe: true

handlers:
- url: /
  script: this field is required, but ignored

resources:
  memory_gb: 2.0

这是我pom.xml的链接 https://github.com/vijayakumar-psg587/POMfile

请您帮忙。我在googlecommunity github页面上发布了相同的问题,但到目前为止没有任何响应。我不确定是否在配置上有任何错误。

这是指向github社区页面的链接 https://github.com/GoogleCloudPlatform/community/issues/557

编辑:当前,我从pom中删除了码头服务器,并改用了Tomcat。我还按照Google文档中的建议使用了appengine-maven-plugin

这次我能够部署,部署之后我试图访问我的招摇,这就是我回来分析日志的原因:

。没有它,则允许getSession(),但不允许操纵sessionattributes。]

java.lang.RuntimeException: Session support is not enabled in appengine-web.xml.  To enable sessions, put <sessions-enabled>true</sessions-enabled> in that file.  Without it, getSession() is allowed, but manipulation of sessionattributes is not.
    at com.google.apphosting.runtime.jetty9.StubSessionManager$StubSession.throwException(StubSessionManager.java:86) ~[na:na]
    at com.google.apphosting.runtime.jetty9.StubSessionManager$StubSession.setAttribute(StubSessionManager.java:71) ~[na:na]
    at org.springframework.security.web.savedrequest.HttpSessionRequestCache.saveRequest(HttpSessionRequestCache.java:59) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.access.ExceptionTranslationFilter.sendStartAuthentication(ExceptionTranslationFilter.java:211) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.access.ExceptionTranslationFilter.handleSpringSecurityException(ExceptionTranslationFilter.java:185) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:141) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:206) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) ~[spring-security-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) ~[spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) ~[spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [runtime-impl-third-party.jar:na]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [runtime-impl-third-party.jar:na]
    at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) ~[spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [runtime-impl-third-party.jar:na]
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [runtime-impl-third-party.jar:na]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:130) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:105) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:123) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [runtime-impl-third-party.jar:na]
    at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:155) [spring-boot-actuator-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:123) [spring-boot-actuator-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108) [spring-boot-actuator-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [runtime-impl-third-party.jar:na]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [runtime-impl-third-party.jar:na]
    at com.google.apphosting.runtime.jetty9.ParseBlobUploadHandler.handle(ParseBlobUploadHandler.java:120) [runtime-impl.jar:na]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182) [runtime-impl-third-party.jar:na]
    at com.google.apphosting.runtime.jetty9.AppEngineWebAppContext.doHandle(AppEngineWebAppContext.java:171) [runtime-impl.jar:na]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [runtime-impl-third-party.jar:na]
    at com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:297) [runtime-impl.jar:na]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.Server.handle(Server.java:539) [runtime-impl-third-party.jar:na]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [runtime-impl-third-party.jar:na]
    at com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.java:202) [runtime-impl.jar:na]
    at com.google.apphosting.runtime.jetty9.RpcConnector.serviceRequest(RpcConnector.java:81) [runtime-impl.jar:na]
    at com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123) [runtime-impl.jar:na]
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest(JavaRuntime.java:692) [runtime-impl.jar:na]
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest(JavaRuntime.java:654) [runtime-impl.jar:na]
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:624) [runtime-impl.jar:na]
    at com.google.apphosting.runtime.JavaRuntime$NullSandboxRequestRunnable.run(JavaRuntime.java:818) [runtime-impl.jar:na]
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:274) [runtime-impl.jar:na]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112-google-v7]

在部署到应用程序引擎时,我也遇到了一些例外,但最终取得了成功。我不确定从应用程序引擎访问应用程序时是否必须对我的错误做任何事情

[INFO] GCLOUD: Beginning interaction for module default...
[INFO] GCLOUD: 0% Scanning for jsp files.
[INFO] GCLOUD: 2018-10-09 18:29:23.305:INFO::main: Logging initialized @145ms
[INFO] GCLOUD: 2018-10-09 18:29:23.451:INFO:oejs.Server:main: jetty-9.3.18.v20170406
[INFO] GCLOUD: 2018-10-09 18:29:24.906:WARN:oeja.ClassInheritanceHandler:qtp1066516207-17: 
[INFO] GCLOUD: java.lang.NullPointerException
[INFO] GCLOUD:  at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.ClassInheritanceHandler.addToInheritanceMap(ClassInheritanceHandler.java:72)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.ClassInheritanceHandler.handle(ClassInheritanceHandler.java:58)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.AnnotationParser$MyClassVisitor.visit(AnnotationParser.java:476)
[INFO] GCLOUD:  at org.objectweb.asm.ClassReader.accept(ClassReader.java:650)
[INFO] GCLOUD:  at org.objectweb.asm.ClassReader.accept(ClassReader.java:525)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:978)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.AnnotationParser.parseJarEntry(AnnotationParser.java:958)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:902)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:851)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:163)
[INFO] GCLOUD:  at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:546)
[INFO] GCLOUD:  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
[INFO] GCLOUD:  at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
[INFO] GCLOUD:  at java.lang.Thread.run(Thread.java:748)
[INFO] GCLOUD: 2018-10-09 18:29:26.910:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=3051ms
[INFO] GCLOUD: 2018-10-09 18:29:26.926:INFO:oejq.QuickStartDescriptorGenerator:main: Quickstart generating
[INFO] GCLOUD: 2018-10-09 18:29:26.942:INFO:oejsh.ContextHandler:main: Started o.e.j.q.QuickStartWebApp@7c16905e{/,[file:XXXX/target/appengine-staging/, jar:file:///XXXXX/target/appengine-staging/WEB-INF/lib/springfox-swagger-ui-2.7.0.jar!/META-INF/resources],AVAILABLE}
[INFO] GCLOUD: 2018-10-09 18:29:26.945:INFO:oejs.Server:main: Started @3787ms
[INFO] GCLOUD: 2018-10-09 18:29:26.950:INFO:oejsh.ContextHandler:main: Stopped o.e.j.q.QuickStartWebApp@7c16905e{/,file:XXXXX/target/appengine-staging/,UNAVAILABLE}
[INFO] GCLOUD: 0% Generated git repository information file.
[INFO] GCLOUD: Success.
[INFO] GCLOUD: Temporary staging for module default directory left in /XXXX/target/appengine-staging
Oct 09, 2018 6:29:27 PM com.google.cloud.tools.appengine.cloudsdk.CloudSdk logCommand
INFO: submitting command: /Applications/gcloud-sdk/google-cloud-sdk/bin/gcloud app deploy XXXXX/target/AdTechServices-0.0.1/WEB-INF/appengine-web.xml
[INFO] GCLOUD: Services to deploy:
[INFO] GCLOUD: 
[INFO] GCLOUD: descriptor:      [XXXXX/target/AdTechServices-0.0.1/WEB-INF/appengine-web.xml]
[INFO] GCLOUD: source:          [XXXXXX/target/AdTechServices-0.0.1]
[INFO] GCLOUD: target project:  [XXXXXX]
[INFO] GCLOUD: target service:  [default]
[INFO] GCLOUD: target version:  [20181009t182937]
[INFO] GCLOUD: target url:      [https://XXXXX.appspot.com]
[INFO] GCLOUD: 
[INFO] GCLOUD: 
[INFO] GCLOUD: Beginning deployment of service [default]...
[INFO] GCLOUD: #============================================================#
[INFO] GCLOUD: #= Uploading 18 files to Google Cloud Storage               =#
[INFO] GCLOUD: #============================================================#
[INFO] GCLOUD: File upload done.
[INFO] GCLOUD: Updating service [default]...
[INFO] GCLOUD: ............................done.
[INFO] GCLOUD: Setting traffic split for service [default]...

1 个答案:

答案 0 :(得分:1)

从您的输出中看到

  • MultiException [
    • java.lang.RuntimeException:从jar文件中扫描条目META-INF / versions / 9 / org / apache / logging / log4j / util / ProcessIdUtil.class时出错:/ Users / a1345875 / Documents / bitbucket-code / target / appengine-staging / WEB-INF / lib / log4j-api-2.10.0.jar,
    • java.lang.RuntimeException:从jar文件中扫描条目META-INF / versions / 9 / org / apache / logging / log4j / util / StackLocator.class时出错:/ Users / a1345875 / Documents / bitbucket-code / target / appengine-staging / WEB-INF / lib / log4j-api-2.10.0.jar,
    • java.lang.RuntimeException:从jar文件:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/log4j-api-2.10扫描条目module-info.class时出错。 0.jar,
    • java.lang.RuntimeException:从jar文件:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/asm-commons-6.0扫描条目module-info.class时出错。罐子,
    • java.lang.RuntimeException:从jar文件中扫描条目module-info.class时出错:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/asm-6.0.jar,
    • java.lang.RuntimeException:从jar文件:/Users/a1345875/Documents/bitbucket-code/target/appengine-staging/WEB-INF/lib/asm-tree-6.0扫描条目module-info.class时出错。罐子]

接着输出jetty-9.3.18.v20170406

关键细节是:

  • META-INF/versions/9/
  • module-info.class

之前在Error scanning entry "module-info.class" when starting Jetty server的一个较早的问题中已经指出了这一点

您的Web应用程序中存在3个JEP-238 Jar文件。

  • WEB-INF / lib / asm-tree-6.0.jar
  • WEB-INF / lib / asm-6.0.jar
  • WEB-INF / lib / log4j-api-2.10.0.jar

您必须使用Jetty 9.4.9(或更高版本)来支持存在JEP-238 Jar文件的任何Java运行时。

还请注意,asm-6.0适用于Java 8字节码,不适用于Java 9或更高版本的字节码。 如果您有更新的字节码,则需要更新的asm jar,或者在更新的Java运行时(例如Java 9或Java 10或Java 11)上使用JEP-238 Jar文件