java.lang.NoClassDefFoundError: org/junit/platform/commons/util/Preconditions的一個解決方法

java.lang.NoClassDefFoundError: org/junit/platform/commons/util/Preconditions
	at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:83)
	at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:67)
	at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.<init>(JUnit5TestLoader.java:34)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
	at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:166)
	at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:404)
	at java.base/java.lang.Class.newInstance(Class.java:590)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createRawTestLoader(RemoteTestRunner.java:370)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.createLoader(RemoteTestRunner.java:365)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.defaultInit(RemoteTestRunner.java:309)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.init(RemoteTestRunner.java:224)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:208)
Caused by: java.lang.ClassNotFoundException: org.junit.platform.commons.util.Preconditions
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	... 15 more

問題出處:
這學期的軟件測試實驗課有一個測試的實驗。。。然後機房的老環境可以正常運行,沒注意他的jdk版本。。。自己因爲要做思科網院pt部分必須安裝最新版的jdk。。。然後卸載了原來的jdk,安裝了jdk12,在eclipse中導入junit框架進行測試就開始報這個錯誤,我換了junit4/5都沒解決,在stackoverflow上看的回答以及部分其他博客分享也沒有解決這個問題,心態有點爆炸。。
解決方法:
參考了下同學的環境,jdk1.8.0_21。。。於是抱着試一下又不會懷孕的態度。。重裝了jdk8。。。再次導入了junit測試框架,運行正常了。我對這個問題具體地原理不是很清楚,也許是兼容性的問題?之間重裝了企業版,開發者版的eclipse/重裝了jdk11.12都還是會報這個錯
這裏做一個出錯原因以及我的解決方法的分享,希望可以幫到被這個報錯困擾的你。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章