enjoy版本:5.2.5
推测原因:在最新版springboot中,已将javax依赖替换为jakarta系列的依赖;enjoy没有适配jakarta依赖。
错误堆栈:
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.jfinal.template.ext.spring.JFinalViewResolver] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@4cf3384d] at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:483) at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:320) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:295) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:272) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.findLifecycleMetadata(InitDestroyAnnotationBeanPostProcessor.java:201) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(InitDestroyAnnotationBeanPostProcessor.java:181) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:290) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1114) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:577) ... 34 common frames omitted Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext at java.base/java.lang.Class.getDeclaredMethods0(Native Method) at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3010) at java.base/java.lang.Class.getDeclaredMethods(Class.java:2329) at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465) ... 42 common frames omitted Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContext at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:547) at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:123) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ... 46 common frames omitted
项目:JFinal
Engine engine = Engine.createIfAbsent(...);
然后就可以在任意地方使用了。
如果要使用原有的整合方式,可以将整合代码复制出来,改一下 jakarta 依赖就可以了