【问题标题】:Spring Boot (Legacy) with GAE - Autowiring带有 GAE 的 Spring Boot (Legacy) - 自动装配
【发布时间】:2015-09-11 23:32:08
【问题描述】:

我正在尝试使用 GAE 1.9.19 制作 spring-boot-legacy:1.0.1.RELEASE 和 spring-boot-starter-parent:1.1.8.RELEASE。但是,通过 mvn appengine:devserver 运行时,我收到以下错误,导致应用无法运行:

[INFO] java.lang.NoClassDefFoundError: java.lang.reflect.Parameter is a restricted class. Please see the Google  App Engine developer's guide for more details.
[INFO]  at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:52)
[INFO]  at org.springframework.core.StandardReflectionParameterNameDiscoverer.getParameterNames(StandardReflectionParameterNameDiscoverer.java:53)
[INFO]  at org.springframework.core.PrioritizedParameterNameDiscoverer.getParameterNames(PrioritizedParameterNameDiscoverer.java:65)
[INFO]  at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:182)
[INFO]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1115)
[INFO]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
[INFO]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
[INFO]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
[INFO]  at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
[INFO]  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
[INFO]  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
[INFO]  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
[INFO]  at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:706)
[INFO]  at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
[INFO]  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
[INFO]  at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)
[INFO]  at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)

据我了解,Spring 使用反射来自动连接依赖项,但似乎 java.lang.reflect 包中的某些类受到限制。关于如何完成这项工作的任何想法?

【问题讨论】:

  • 尝试在 java 1.7 下运行你的应用
  • 愚蠢的我。我忘记将我的 JAVA_HOME 更改为 java 7 sdk。谢谢!

标签: java spring maven google-app-engine spring-boot


【解决方案1】:

java.lang.reflect.Parameter 在 Java 8 下被 Spring 使用。所以你必须降级到 Java 7 以避免它。另一个原因是 Google Appengine 不支持 Java 8,只支持 Java 7。所以无论如何你都需要它。

【讨论】:

    【解决方案2】:

    查看迁移指南 https://cloud.google.com/appengine/docs/standard/java/migrating-to-java8

    <runtime>java8</runtime> 添加到appengine-web.xml

    【讨论】:

      猜你喜欢
      • 2018-07-11
      • 2017-09-07
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 2016-03-14
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多