java.lang.NoClassDefFoundError: io/restassured/mapper/factory/GsonObjectMapperFactory [英] java.lang.NoClassDefFoundError: io/restassured/mapper/factory/GsonObjectMapperFactory
问题描述
当我尝试使用放心的框架执行脚本时出现错误.请指导我解决相同的问题.我用下面的罐子
I am getting error when I try to execute script with rest assured framework. Please guide me to resolve the same. And I used below jars
Java version - 8
rest-assured-2.8.0
json-path-2.8.0
hamcrest-all-1.3
commons-lang3-3.0
json-schema-validator-2.2.0
>FAILED: foo
java.lang.NoClassDefFoundError: io/restassured/mapper/factory/GsonObjectMapperFactory
at io.restassured.config.RestAssuredConfig.<init>(RestAssuredConfig.java:41)
at io.restassured.RestAssured.<clinit>(RestAssured.java:420)
at practice.GetRequest.foo(GetRequest.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
at org.testng.TestNG.runSuites(TestNG.java:1144)
at org.testng.TestNG.run(TestNG.java:1115)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
Caused by: java.lang.ClassNotFoundException: io.restassured.mapper.factory.GsonObjectMapperFactory
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 28 more
===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================
推荐答案
这个问题的根本原因是放心 *ObjectMapperFactory
包名称的变化,例如在版本之间 3.x
和 4.x
.
The root cause of this is rest-assured *ObjectMapperFactory
package names changing, for example between versions 3.x
and 4.x
.
对于在 rest-assured 4.0.0 发布后遇到的任何人,此问题可能出现在 Spring Boot 项目中 - 由 rest-assured
及其对 json-path
和 xml- 的传递依赖之间的版本不匹配引起-spring-boot-dependencies bom.
For anyone coming across this after the release of rest-assured 4.0.0, this problem can appear in Spring Boot projects - caused by a version mismatch between rest-assured
and its transitive dependencies on json-path
and xml-path
in the spring-boot-dependencies bom.
如果您指定依赖项 io.rest-assured:rest-assured:4.0.0
,则还需要明确包含 io.rest-assured:json-path:4.0.0
和 io.rest-assured:xml-path:4.0.0
,否则 spring-boot-dependencies 会拉入版本 3.1.1
和旧的*ObjectMapperFactory 包名称.
If you specify a dependency io.rest-assured:rest-assured:4.0.0
, you also need to explicitly include io.rest-assured:json-path:4.0.0
and io.rest-assured:xml-path:4.0.0
, otherwise spring-boot-dependencies will pull in version 3.1.1
with the old *ObjectMapperFactory package names.
这篇关于java.lang.NoClassDefFoundError: io/restassured/mapper/factory/GsonObjectMapperFactory的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!