Spring使用注解开发报错java.lang.ExceptionInInitializerError

本文分析了因JUnit与Spring版本不匹配导致的ExceptionInInitializerError异常,并提供了解决方案,包括调整版本以确保兼容性。

问题:

java.lang.ExceptionInInitializerError
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29)
	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:31)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
Caused by: java.lang.IllegalStateException: SpringJUnit4ClassRunner requires JUnit 4.12 or higher.
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<clinit>(SpringJUnit4ClassRunner.java:102)
	... 15 more

原因分析:

这个是我在使用maven导坐标版本不同导致的,导的jar冲突了


解决方案:

可以尝试切换Junit或spring的版本

java.lang.ExceptionInInitializerError at org.jetbrains.jps.cmdline.ClasspathBootstrap.getBuildProcessApplicationClasspath(ClasspathBootstrap.java:134) at com.intellij.compiler.server.impl.BuildProcessClasspathManager.getBuildProcessClasspath(BuildProcessClasspathManager.kt:43) at com.intellij.compiler.server.BuildManager.launchBuildProcess(BuildManager.java:1568) at com.intellij.compiler.server.BuildManager.lambda$scheduleBuild$16(BuildManager.java:990) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:244) at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:30) at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:222) at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218) at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:210) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassFormatError: LocalVariableTable has wrong length in class file org/apache/maven/model/Repository at org.jetbrains.idea.maven.aether.ArtifactRepositoryManager$1.serviceCreationFailed(ArtifactRepositoryManager.java:76) at org.eclipse.aether.impl.DefaultServiceLocator.serviceCreationFailed(DefaultServiceLocator.java:291) at org.eclipse.aether.impl.DefaultServiceLocator.access$000(DefaultServiceLocator.java:79) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.newInstance(DefaultServiceLocator.java:175) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstances(DefaultServiceLocator.java:139) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstance(DefaultServiceLocator.java:125) at org.eclipse.aether.impl.DefaultServiceLocator.getService(DefaultServiceLocator.java:278) at org.jetbrains.idea.maven.aether.ArtifactRepositoryManager.<clinit>(ArtifactRepositoryManager.java:80) ... 18 more Caused by: java.lang.RuntimeException: java.lang.ClassFormatError: LocalVariableTable has wrong length in class file org/apache/maven/model/Repository at org.jetbrains.idea.maven.aether.ArtifactRepositoryManager$1.serviceCreationFailed(ArtifactRepositoryManager.java:76) at org.eclipse.aether.impl.DefaultServiceLocator.serviceCreationFailed(DefaultServiceLocator.java:291) at org.eclipse.aether.impl.DefaultServiceLocator.access$000(DefaultServiceLocator.java:79) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.newInstance(DefaultServiceLocator.java:175) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstances(DefaultServiceLocator.java:139) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.getInstance(DefaultServiceLocator.java:125) at org.eclipse.aether.impl.DefaultServiceLocator.getService(DefaultServiceLocator.java:278) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.initService(DefaultRepositorySystem.java:147) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.newInstance(DefaultServiceLocator.java:169) ... 22 more Caused by: java.lang.ClassFormatError: LocalVariableTable has wrong length in class file org/apache/maven/model/Repository at java.base/java.lang.ClassLoader.defineClass2(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1108) at com.intellij.util.lang.UrlClassLoader.consumeClassData(UrlClassLoader.java:289) at com.intellij.util.lang.ZipResourceFile.findClass(ZipResourceFile.java:113) at com.intellij.util.lang.JarLoader.findClass(JarLoader.java:58) at com.intellij.util.lang.ClassPath.findClassInLoader(ClassPath.java:240) at com.intellij.util.lang.ClassPath.findClass(ClassPath.java:190) at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:240) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at org.apache.maven.model.building.DefaultModelBuilderFactory.newModelValidator(DefaultModelBuilderFactory.java:149) at org.apache.maven.model.building.DefaultModelBuilderFactory.newInstance(DefaultModelBuilderFactory.java:227) at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.initService(DefaultArtifactDescriptorReader.java:119) at org.eclipse.aether.impl.DefaultServiceLocator$Entry.newInstance(DefaultServiceLocator.java:169) ... 27 more
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值