簡體   English   中英

使用GAE的Spring Boot(Legacy) - 自動裝配

[英]Spring Boot (Legacy) with GAE - Autowiring

我正在嘗試使用spring-boot-legacy:1.0.1.RELEASE&spring-boot-starter-parent:1.1.8.RELEASE with GAE 1.9.19。 但是,在通過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包中的某些類是受限制的。 關於如何使這項工作的任何想法?

Spring在Java 8下使用了java.lang.reflect.Parameter 。所以你必須降級到Java 7才能避免它。 另一個原因是Google Appengine不支持Java 8,只支持Java 7.所以無論如何你都需要它。

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

將add <runtime>java8</runtime>到appengine-web.xml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM