从JDK15换成JDK1.8出问题了

因为生产环境兼容的问题,JDK15换到了JDK1.8,出错了。。求大神救救,我应该如何处理呢。。。


严重: controller.miniprogram.RuijieController.getUserInfo() : /Ruijie/getUserInfo?time=1610639190&key=15119&md5=ea6107e3da6231991e436e37a89a0f11

java.lang.RuntimeException: java.lang.UnsupportedClassVersionError: com/sun/xml/bind/v2/JAXBContextFactory has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at com.jfinal.aop.Invocation.invoke(Invocation.java:107)

at interceptor.UserAuthInterceptor.intercept(UserAuthInterceptor.java:83)

at com.jfinal.aop.Invocation.invoke(Invocation.java:91)

at interceptor.UrlSignInterceptor.intercept(UrlSignInterceptor.java:114)

at com.jfinal.aop.Invocation.invoke(Invocation.java:91)

at interceptor.UserLogInterceptor.intercept(UserLogInterceptor.java:42)

at com.jfinal.aop.Invocation.invoke(Invocation.java:91)

at com.jfinal.ext.interceptor.POST.intercept(POST.java:30)

at com.jfinal.aop.Invocation.invoke(Invocation.java:91)

at com.jfinal.core.ActionHandler.handle(ActionHandler.java:88)

at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:90)

at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)

at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)

at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)

at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)

at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)

at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)

at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)

at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)

at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)

at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)

at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)

at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)

at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)

at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)

at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)

at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)

at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)

at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)

at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)

at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)

at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)

at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.UnsupportedClassVersionError: com/sun/xml/bind/v2/JAXBContextFactory has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:756)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)

at java.net.URLClassLoader.access$100(URLClassLoader.java:74)

at java.net.URLClassLoader$1.run(URLClassLoader.java:369)

at java.net.URLClassLoader$1.run(URLClassLoader.java:363)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:362)

at java.lang.ClassLoader.loadClass(ClassLoader.java:418)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)

at java.lang.ClassLoader.loadClass(ClassLoader.java:405)

at com.jfinal.server.undertow.hotswap.HotSwapClassLoader.loadClass(HotSwapClassLoader.java:68)

at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

at javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:579)

at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:224)

at javax.xml.bind.ContextFinder.find(ContextFinder.java:441)

at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641)

at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:331)

at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:329)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.cxf.common.jaxb.JAXBContextCache.createContext(JAXBContextCache.java:329)

at org.apache.cxf.common.jaxb.JAXBContextCache.getCachedContextAndSchemas(JAXBContextCache.java:230)

at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:468)

at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:325)

at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)

at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:426)

at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:528)

at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:264)

at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:102)

at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:91)

at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:157)

at service.RuijieService.connect(RuijieService.java:42)

at service.RuijieService.getUserInfo(RuijieService.java:68)

at controller.miniprogram.RuijieController.getUserInfo(RuijieController.java:31)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.jfinal.aop.Invocation.invoke(Invocation.java:97)

... 41 more


评论区

JFinal

2021-01-15 01:22

重新编译一下出问题的代码:
1:如果是在 jdk 15 上编译,注意配置一下 maven-compiler-plugin 插件的 target 与 source 为 1.8,可以参考这个 pom.xml:
https://gitee.com/jfinal/jfinal/blob/master/pom.xml

2:如果是在 jdk 8 上编译,无需配置,但建议还是配置 pom.xml,这样就可以在任意版本的 JDK 上编译

lcmkc

2021-01-15 13:50

@JFinal

org.apache.maven.plugins
maven-jar-plugin
2.6


*.txt
*.xml
*.properties




UTF-8
UTF-8
1.8
1.8
1.8


这些早就一些配置好了呢,我把.m2 .p2文件夹,classes文件夹全部删掉还是一样的报错。。

lcmkc

2021-01-15 13:50

害。。回复评论屏蔽了标签。。

lcmkc

2021-01-15 13:53

@JFinal 我在测试环境安装了jdk1.8 eclipse去跑一样的报错~~

JFinal

2021-01-15 14:31

@lcmkc 这个问题其实很明确,在百度上搜索解决一下,搜这个东东:
java.lang.UnsupportedClassVersionError: has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

zzutligang

2021-01-15 16:48

删掉编译过的class,然后在开发环境下重新编译一次就行了。哪有那么麻烦

热门反馈

扫码入社