apollo-java icon indicating copy to clipboard operation
apollo-java copied to clipboard

jdk支持版本

Open m5itao opened this issue 5 months ago • 6 comments

apollo的java客户端哪个版本开始支持jdk21版本,1.9.1版本是否支持jdk21呢

m5itao avatar Oct 17 '25 09:10 m5itao

jdk 是向后兼容的,应该不存在你问的这个问题

nobodyiam avatar Oct 18 '25 08:10 nobodyiam

jdk 是向后兼容的,应该不存在你问的这个问题

我用java-client的1.9.1版本,启动项目,使用的jdk是17,启动报错如下,这个是什么原因呢

m5itao avatar Oct 20 '25 06:10 m5itao

Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationContextInitializer : com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:489) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:471) at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:464) at org.springframework.boot.SpringApplication.(SpringApplication.java:287) at org.springframework.boot.SpringApplication.(SpringApplication.java:267) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) at com.qfin.token.QfinTokenApplication.main(QfinTokenApplication.java:17) Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer]: Constructor threw exception; nested exception is com.ctrip.framework.apollo.exceptions.ApolloConfigException: Unable to load instance for com.ctrip.framework.apollo.spring.config.ConfigPropertySourceFactory! at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224) at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:485) ... 7 more Caused by: com.ctrip.framework.apollo.exceptions.ApolloConfigException: Unable to load instance for com.ctrip.framework.apollo.spring.config.ConfigPropertySourceFactory! at com.ctrip.framework.apollo.spring.util.SpringInjector.getInstance(SpringInjector.java:57) at com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer.(ApolloApplicationContextInitializer.java:95) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211) ... 8 more Caused by: com.ctrip.framework.apollo.exceptions.ApolloConfigException: Unable to initialize Apollo Spring Injector! at com.ctrip.framework.apollo.spring.util.SpringInjector.getInjector(SpringInjector.java:40) at com.ctrip.framework.apollo.spring.util.SpringInjector.getInstance(SpringInjector.java:53) ... 15 more Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.ExceptionInInitializerError at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) at com.google.common.cache.LocalCache.get(LocalCache.java:3962) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3985) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4946) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4952) at com.google.inject.internal.FailableCache.get(FailableCache.java:48) at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50) at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:138) at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:536) at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160) at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) at com.google.inject.Guice.createInjector(Guice.java:99) at com.google.inject.Guice.createInjector(Guice.java:73) at com.google.inject.Guice.createInjector(Guice.java:62) at com.ctrip.framework.apollo.spring.util.SpringInjector.getInjector(SpringInjector.java:38) ... 16 more Caused by: java.lang.ExceptionInInitializerError at com.google.inject.internal.cglib.reflect.$FastClass$Generator.getProtectionDomain(FastClass.java:73) at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:206) at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65) at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252) at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203) at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:53) at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:158) at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90) at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33) at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ... 32 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @609cd4d8 at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) at com.google.inject.internal.cglib.core.$ReflectUtils$1.run(ReflectUtils.java:52) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at com.google.inject.internal.cglib.core.$ReflectUtils.(ReflectUtils.java:42) ... 48 more Disconnected from the target VM, address: '127.0.0.1:50354', transport: 'socket'

Process finished with exit code 1

m5itao avatar Oct 20 '25 06:10 m5itao

这个是 guice 的兼容性问题,从 apollo-client 2.0.0 版本开始修复了 https://github.com/apolloconfig/apollo/pull/4060

nobodyiam avatar Oct 20 '25 08:10 nobodyiam

哦,好的,目前启动增加如下配置解决了 --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED

m5itao avatar Oct 21 '25 04:10 m5itao

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions.

stale[bot] avatar Nov 21 '25 20:11 stale[bot]