首先跟大家分享一下,我的本地环境,用的是MacBook Pro笔记本,在电脑本地安装了jdk8和jdk11两个版本,Tomcat 9,maven版本apache-maven-3.6.3
IDE开发工具版本:Eclipse IDE for Java Developers (includes Incubating components),Version: 2022-03 (4.23.0)
其次,跟大家分享一下我报错的原因,由于之前用的是windows操作系统,换了mac系统后需要重新配置搭建java开发环境,本着什么都用高版本的原则,我选择了使用tomcat10,jdk11,maven-3.6.3,最主要的是我原来的项目用的版本是jdk8,tomcat8,我为了避免环境问题,还把windows下的.m2里的maven仓库repo里面的所有依赖包全部拷贝到mac电脑上对应的本地仓库版本里面了。
就在上面这种情况下,注意是在tomcat10,jdk11的情况下,我启动了eclipse里面的tomcat,然后报了如下错误:
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
Caused by: java.lang.ClassNotFoundException: com.lk.core.config.InitServiceCheck
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1412)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:250)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:394)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1402)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1349)
... 41 common frames omitted
2022-06-19 15:40:20.634 DEBUG [main]org.springframework.beans.factory.support.DefaultListableBeanFactory -Ignoring bean class loading failure for bean 'sysAuthorizingRealm'
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.lk.security.SysAuthorizingRealm] for bean with name 'sysAuthorizingRealm' defined in URL [file:/Users/kangliu/Desktop/work/workspace-new/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/datagraph/WEB-INF/classes/securityConfig.xml]; nested exception is java.lang.ClassNotFoundException: com.lk.security.SysAuthorizingRealm
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1357)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:628)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:597)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1450)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:446)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:416)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:191)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:697)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:526)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230)
解决方案:
原来的项目jdk版本是1.8,现在将jdk降到了1.8,你会发现上面错误不见了但是🈶️出现了下面的错误:
,然后再通过maven--》update project,然后再右键项目名称--〉properties-->deployment assembly-->add --> java build path entries--> next -->maven dependencies-->apply and close
大功告成!!!
奉劝大家一句:
凡是以前的项目,jdk、tomcat、maven这些,以前是什么版本,建议迁移环境后一定要保持环境不变,尤其jdk、tomcat,不要轻易尝试新的版本,真的承受不起。